Usuario:ManuelRomero/Laravel/QueryBuilder

De WikiEducator
Saltar a: navegación, buscar



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(...);


Icon activity.jpg

Actividad

Haz un programa que muestre todos los productos que sean de tipo ORDENA