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.