Hay veces que cuando utilizamos un framework necesitamos ejecutar consultas SQL nativas. Hoy veremos como ejecutar consultas SQL en Laravel 5.
Una vez tenemos configurada nuestra base de datos y estamos usando el namespace del objeto DB (use Illuminate\Support\Facades\DB;
) en nuestro controlador, podríamos ejecutar las siguientes consultas:
public function getIndex(){ echo "<h3>SQL en Laravel 5</h3>"; echo "<h4>victorroblesweb.es</h4>"; echo "<hr/>Select pasandole parametros en un array <br/>"; $results = DB::select('select * from cineastas where id = ?', [1]); var_dump($results); echo "<hr/>Select pasandole parametros en un array asociativo<br/>"; $results = DB::select('select * from cineastas where id = :id', ['id' => 1]); var_dump($results); echo "<hr/>Insertar en la base de datos<br/>"; DB::insert('insert into cineastas (nombre, edad) values (?, ?)', ['Tarantino', '52']); $results = DB::select('select nombre from cineastas where nombre = :nombre and edad = :edad', ["nombre" => "Tarantino", "edad"=>"52"]); var_dump($results); echo "<hr/>Actualizar registros en la base de datos<br/>"; DB::update('update cineastas set edad = 53 where nombre = ?', ['Tarantino']); $results = DB::select('select nombre, edad from cineastas where nombre = :nombre LIMIT 1', ["nombre" => "Tarantino"]); var_dump($results); echo "<hr/>Eliminar registros en la base de datos<br/>"; DB::delete('delete from cineastas where nombre="Tarantino"'); $results = DB::select('select nombre from cineastas where nombre = :nombre', ["nombre" => "Tarantino"]); var_dump($results); echo "<hr/>Ejecutar otro tipo de consulta<br/>"; $results=DB::statement('create table if not exists victor(id int(255));'); var_dump($results); $results=DB::statement('drop table victor;'); var_dump($results); }
Si nos vamos al navegador:
Con esto ya sabemos como ejecutar SQL en Laravel 5.
¿Quieres aprender más? Curso de Laravel 5 desde cero + Desarrollo de APIs RESTful y webs con Angular
Más información:
http://laravel.com/docs/5.0/database