Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/QueryBuilder»
De WikiEducator
(Página creada con « ===La clase DB=== *Con esta clase podremos ejecutar consultas *El definir el fichero de configuración anterior nos permite conectar a la base de datos ;Seleccionando...») |
(→La clase DB) |
||
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | + | {{:Usuario:ManuelRomero/micursos/Laravel/baseDatos/nav}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===La clase DB=== | ===La clase DB=== | ||
− | * | + | *En realidad no es una clase explícita, es una facade |
− | * | + | *Podríamos considerar una facade como un patrón estructural que define una interfaz simplificada de un subsistema más complejo |
− | + | *Para su uso lo podemos intuir como un alias, que facilita el uso de clases y sus métodos. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | {{MRM_Web|Title=Facades| |
+ | https://laravel.com/docs/5.8/facades | ||
+ | }} | ||
+ | *Para usarlo debemos especificar su uso | ||
<source lang=php> | <source lang=php> | ||
− | + | use Illuminate\Support\Facades\DB; | |
</source> | </source> | ||
− | |||
− | |||
− | + | *Vamos a ver cómo usarlo, de forma básica | |
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | ;1.-Controlador | ||
<source lang=php> | <source lang=php> | ||
php artisan controller:make Tienda | php artisan controller:make Tienda | ||
</source> | </source> | ||
+ | ;2.-Routes (web.php) | ||
+ | *Ahora asociamos ese controlador a una ruta | ||
+ | <source lang=php> | ||
+ | Route::get('productos', 'Tienda@getProductos'); | ||
+ | </source> | ||
+ | ;3.-Escribimos el método | ||
+ | *Opciones | ||
+ | Recuperar todos los productos | ||
+ | DB::table('productos')->get(); | ||
+ | |||
+ | |||
+ | |||
+ | ===Obtener todos los productos | ||
+ | |||
Ahora editamos el fichero Tienda.php que tenemos en cotrollers y escribimos el código en el método getProductos | Ahora editamos el fichero Tienda.php que tenemos en cotrollers y escribimos el código en el método getProductos | ||
Línea 54: | Línea 42: | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
*Y lo último creamos la plantilla tienda | *Y lo último creamos la plantilla tienda | ||
Línea 78: | Línea 62: | ||
</html> | </html> | ||
</source> | </source> | ||
+ | *Con esta clase podremos ejecutar consultas | ||
+ | *El definir el fichero de configuración anterior nos permite conectar a la base de datos | ||
+ | ;Seleccionando | ||
+ | <source lang=php> | ||
+ | $consulta = DB::select("select * from usuarios where nombre = ?", array ("manolo"); | ||
+ | DB::insert('insert into usuarios (id, name) values (?, ?)', array(1, 'Dayle')); | ||
+ | $numFilas = DB::update('update usuarios set votes = 100 where name = ?', array('John')); | ||
+ | $numFilas = DB::delete('delete from usuarios'); | ||
+ | </source> | ||
+ | |||
+ | *Si hay varias conexiones usaremos el método connection() para seleccionar una de ellas | ||
+ | <source lang=php> | ||
+ | $usuario = DB::connection('usuarios')->select(...); | ||
+ | </source> | ||
+ | {{Actividad| | ||
+ | Haz un programa que muestre todos los productos que sean de tipo ORDENA}} |
Última revisión de 00:37 14 mar 2019
La clase DB
- En realidad no es una clase explícita, es una facade
- Podríamos considerar una facade como un patrón estructural que define una interfaz simplificada de un subsistema más complejo
- Para su uso lo podemos intuir como un alias, que facilita el uso de clases y sus métodos.
- Para usarlo debemos especificar su uso
use Illuminate\Support\Facades\DB;
- Vamos a ver cómo usarlo, de forma básica
- 1.-Controlador
php artisan controller:make Tienda
- 2.-Routes (web.php)
- Ahora asociamos ese controlador a una ruta
Route::get('productos', 'Tienda@getProductos');
- 3.-Escribimos el método
- Opciones
Recuperar todos los productos DB::table('productos')->get();
===Obtener todos los productos
Ahora editamos el fichero Tienda.php que tenemos en cotrollers y escribimos el código en el método getProductos
public function getProductos(){ $conexion = DB::connection('tienda')->select ('select nombre_corto ' . 'from productos where familia = ?', array('ORDENA')); View::make('productos', array('p' =>$p);
- Y lo último creamos la plantilla tienda
<!doctype html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Lista de productos</title> </head> <body> <ul> @foreach ($p as $productos) <li>producto ordena llamado {{ $productos->nombre_corto }} </li> @endforeach </ul> </body> </html>
- Con esta clase podremos ejecutar consultas
- El definir el fichero de configuración anterior nos permite conectar a la base de datos
- Seleccionando
$consulta = DB::select("select * from usuarios where nombre = ?", array ("manolo"); DB::insert('insert into usuarios (id, name) values (?, ?)', array(1, 'Dayle')); $numFilas = DB::update('update usuarios set votes = 100 where name = ?', array('John')); $numFilas = DB::delete('delete from usuarios');
- Si hay varias conexiones usaremos el método connection() para seleccionar una de ellas
$usuario = DB::connection('usuarios')->select(...);