Usuario:ManuelRomero/Laravel/baseDatos

De WikiEducator
Saltar a: navegación, buscar



Configurando y contectando a la base de datos

  • Tocaremos el fichero /apt/database.php
  • En el especificaremos los parámetros de conexión para establecer conexión con la base de datos
  • Estos datos se especificarán como parámetros del array mysql, como se puede ver en el ejemplo
  • El laravel 4 este fichero está en /app/config y en laravel 5 en /config
'mysql' => array(
			'driver'    => 'mysql',
			'host'      => 'localhost',
			'database'  => 'usuariosLaravel',
			'username'  => 'root',
			'password'  => 'root',
			'charset'   => 'utf8',
			'collation' => 'utf8_unicode_ci',
			'prefix'    => '',
		)

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
$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




Creamos la conexión de la base de datos
  • Creamos un controlador
php artisan controller:make Tienda

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);
  • Ahora asociamos ese controlador a una ruta
Route::get('productos', 'Tienda@getProductos');
  • Y lo último creamos la plantilla tienda

<!doctype html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Lista de productos</title> </head>

<body>

    @foreach ($p as $productos)
  • producto ordena llamado {{ $productos->nombre_corto }}
  •         @endforeach
            
    

</body> </html>