Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/baseDatos»

De WikiEducator
Saltar a: navegación, buscar
Línea 18: Línea 18:
 
)
 
)
 
</source>
 
</source>
===La clase DB===
+
===Gestionando la base de datos en el código===
*Con esta clase podremos ejecutar consultas
+
;Laravel presenta dos clases para poder trabajar con las bases de datos
*El definir el fichero de configuración anterior nos permite conectar a la base de datos
+
1.-Eloquent ORM<br />
;Seleccionando
+
2.-Query Builder con la clase DB<br />
<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}}
+
 
+
;Creamos la conexión de la base de datos
+
<!--
+
*En el fichero '''''database.php '''''
+
<source lang=php>
+
.....
+
  'tienda' => array(
+
'driver'    => 'mysql',
+
'host'      => 'localhost',
+
'database'  => 'dwes',
+
'username'  => 'root',
+
'password'  => 'root',
+
'charset'  => 'utf8',
+
'collation' => 'utf8_unicode_ci',
+
'prefix'    => '',
+
),
+
.....
+
</source>
+
-->
+
*Creamos un controlador
+
 
+
<source lang=php>
+
php artisan controller:make Tienda
+
</source>
+
 
+
Ahora editamos el fichero Tienda.php que tenemos en cotrollers y escribimos el código en el método getProductos
+
<source lang=php>
+
  public function getProductos(){
+
            $conexion = DB::connection('tienda')->select ('select nombre_corto '
+
                    . 'from productos where familia = ?', array('ORDENA'));
+
            View::make('productos', array('p' =>$p);
+
</source>     
+
 
+
*Ahora asociamos ese controlador a una ruta
+
<source lang=php>
+
Route::get('productos', 'Tienda@getProductos');
+
</source>
+
 
+
*Y lo último creamos la plantilla tienda
+
<source lang=php>
+
<!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>
+
</source>
+

Revisión de 08:31 13 mar 2019




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'    => '',
		)

Gestionando la base de datos en el código

Laravel presenta dos clases para poder trabajar con las bases de datos

1.-Eloquent ORM
2.-Query Builder con la clase DB