Laravel

Laravel Inner Join, Left Join ejemplos

Laravel Inner Join. Si desean unir varias tablas y obtener resultados en conjunto indudablemente se debe de usar IINER JOIN en las consultas SQL.

Laravel Inner Join

Vamos a simular que en nuestro escenario tenemos el modelo de la tabla users llamado User y la tabla categorías, a través del encadenamiento de métodos podemos hacer lo siguiente valiendonos de select() y de join() ambos métodos en Eloquent

En la construcción de la consulta, a la variable $data la igualamos a la clase del Modelo User y este a su vez accede al método estático select()

$data = User::select('users.nameUser', 'categories.nameCategory')
->join('categories', 'users.idUser', '=', 'categories.user_id')
->get();

return $data;

LEFT JOIN EN LARAVEL

A continuación, mostraremos un ejemplo para usar la clausulas LEFT JOIN

$data = User::select('users.nameUser', 'categories.nameCategory')
->leftjoin('categories', 'users.idUser', '=', 'categories.user_id')
->get();

return $data;

Inner Join Query Builder

Supongamos que tiene dos tablas: usuarios y pedidos. Quiere obtener una lista de usuarios que han realizado pedidos. Puede utilizar una unión interna para ello. A continuación, le indicamos cómo hacerlo

$leagues = DB::table('leagues')
->select('league_name')
->join('countries', 'countries.country_id', '=', 'leagues.country_id')
->where('countries.country_name', $country)
->get();

INNER JOIN ELOQUENT

Si estás usando Eloquent y tienes el modelo «Liga», también puedes usar join en el modelo:

$leagues = League::select('league_name')
->join('countries', 'countries.country_id', '=', 'leagues.country_id')
->where('countries.country_name', $country)
->get();

En resumen

La variable $leagues se tiene qe pasar por un ciclo ya sea FOREACH() o FORELSE() de Laravel para obtener los resultados de la unión de las 2 tablas

Si por algún motivo se desea unir mas tablas solo se tendría que agregar un ->join a la sentencia.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.
Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad