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>
	<ul>
        @foreach ($p as $productos)
                <li>producto ordena llamado {{ $productos->nombre_corto }} </li>
         @endforeach
 
  	</ul>
	</body>
</html>