Está en la página 1de 36

TECNOLOGIA WEB II

SEMANA 10
Agenda
Eloquent
QueryBuilder
ELOQUENT ORM (Mapeo Objeto-Relacional)
El ORM Eloquent incluido con Laravel
proporciona una implementación de
ActiveRecord simple para trabajar con su
base de datos.
Cada tabla de la base de datos tiene un
"Modelo" correspondiente que se utiliza para
interactuar con esa tabla.
ELOQUENT ORM
Los modelos le permiten consultar datos en
sus tablas, así como insertar nuevos registros
en la tabla.
Debe asegúrese de configurar una conexión
de base de datos en:
app/config/database.php
QUEYBUILDER
El generador de consultas de bases de datos
proporciona una interfaz cómoda y fluida para
crear y ejecutar consultas de bases de datos. Se
puede utilizar para realizar la mayoría de las
operaciones de base de datos en su aplicación y
funciona en todos los sistemas de base de datos
compatibles.
QUERYBUILDER - SELECT
QB: Recuperar todos los registros
$users = DB::table('users')->get();
foreach ($users as $user)
{
var_dump($user->name);
}
QB: Recuperar un registro de una tabla

$user = DB::table('users')->
where('name', 'John')->first();

var_dump($user->name);
QB: Recuperar una sola columna de una fila

$name = DB::table('users')->
where('name', 'John')->pluck('name');
QB: Recuperar una lista de valores de columna

$roles = DB::table('roles')->lists('title');
QB: Especificar una cláusula de selección
$users = DB::table('users')->
select('name', 'email')->get();

$users = DB::table('users')->
distinct()->get();

$users = DB::table('users')->
select('name as user_name')->get();
QB: Agregar una cláusula de selección a una
consulta existente

$query = DB::table('users')->
select('name');

$users = $query->addSelect('age')->get();
QB: Uso de operadores Where

$users = DB::table('users')->
where('votes', '>', 100)->get();
QB: Operadores lógicos OR
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();
QB: Operador between

$users = DB::table('users')
->whereBetween('votes', array(1, 100))
->get();
QB: Usando Where In con una matriz
$users = DB::table('users')
->whereIn('id', array(1, 2, 3))
->get();

$users = DB::table('users')
->whereNotIn('id', array(1, 2, 3))
->get();
QB: Order By, Group By, And Having
$users = DB::table('users')
->orderBy('name', 'desc')
->groupBy('count')
->having('count', '>', 100)
->get();
QB: Sentencia Join
DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.id', 'contacts.phone', 'orders.price')
->get();
QUERYBUILDER – INSERT, DELETE, UPDATE
Insertar registros en una tabla

DB::table('users')
->insert(array('email' => 'john@peru.com', 'votes' => 0));
Insertar registros en una tabla con un ID de
incremento automático

$id = DB::table('users')
->insertGetId(array('email' => 'john@peru.com', 'votes' => 0));
Insertar multiples registros en una tabla
DB::table('users')->insert(array(
array('email' => ‘alberto@peru.com', 'votes' => 0),
array('email' => ‘karla@peru.com', 'votes' => 0),
));
Actualizar registros en una tabla
DB::table('users')
->where('id', 1)
->update(array('votes' => 1));
Eliminar los registros en una tabla

DB::table('users')->delete();

DB::table('users')->where('votes', '<', 100)->delete();


Ejemplo:
Paso 01: En la base de datos DEMO, tenemos la tabla categorías (Ejemplo de
migraciones)
Ejemplo:
Paso 02: Agregar los registros
Ejemplo
Paso 03: Crear el siguiente controller
Ejemplo
Paso 04: Crear la siguiente
vista de nombre:
categorias.blade.php
Ejemplo
Paso 05: Hacer los ajustes en el archivo web.php

Route::get('categoria',[CategoriaController::class,'index']);
Ejemplo
Paso 06: El resultado a obtenido seria el siguiente:

http://localhost/caso1/public/categoria
Actividad
Estimado participante tenemos la base datos DEMO, tenemos la tabla
productos la cual esta relacionada con la tabla categorías.
Actividad
Proceda agregar 5 registros en la tabla producto

PRECIO PRECIO
CAT_ID NOMBRE STOCK ESTADO
COMPRA VENTA
1 Leche Gloria 150 3.50 4.00 A
1 Yogurt Laive 70 4.30 5.50 A
2 Gaseosa Inka Kola 85 5.50 7.00 A
2 Gaseosa Coca Cola 200 5.70 7.50 A
1 Leche Ideal 250 3.00 3.50 A
Actividad
a) Proceda a crear una vista y su respectiva plantilla que permita acceder a las otras
vistas que implementara.

TECNOLOGÍA WEB II
Productos Reposición Resumen

consulta1.blade.php consulta2.blade.php consulta3.blade.php


Actividad – vista – consulta1
a) Luego elabore una vista que permita mostrar los productos, categoría, stock y su
precio.

Producto Categoría Stock Precio


Venta
Leche Gloria Lácteos 150 4.00
Yogurt Laive Lácteos 70 5.50
Gaseosa Inka Kola Bebidas y licores 85 7.00
Gaseosa Coca Cola Lácteos 200 7.50
Leche Ideal Bebidas y licores 250 3.50
Actividad - vista – consulta2
b) Mostrar los productos donde su stock sea menor o igual a 100 unidades.

Producto Categoría Stock Precio


Venta
Yogurt Laive Lácteos 70 5.50
Gaseosa Inka Kola Bebidas y licores 85 7.00
Actividad - vista – consulta3
c) Luego elabore una vista que permita la cantidad de unidades por categoría.

Categoría Stock
Bebidas y licores 335
Lácteos 420

También podría gustarte