Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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();
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
Categoría Stock
Bebidas y licores 335
Lácteos 420