Laravel 8 Left Join Query Example

Websolutionstuff | Nov-26-2021 | Categories : Laravel PHP MySQL

In this tutorial I will give you laravel 8 left join query example. laravel left join eloquent returns all rows from the left table, even if there are no matches in the right table, The result is NULL from the right side. We will also see query of laravel left join with groupBy(). If you would like to perform a "left join" or "right join" instead of an "inner join", use the leftJoin or rightJoin methods. These methods have the same signature as the join method.

For laravel left join query example we need the first argument passed to the leftJoin method is the name of the table you need to join to, while the remaining arguments specify the column constraints for the join. Left join query use in laravel 6, laravel 7, laravel 8.

So, let's start example of left join in laravel 8.

laravel 8 Left Join

 

SQL Query:

In this example, we will create users table and countries table. I will add country_id  foriegn key on users table. So when I get users at that time we will get country name from country_id using inner join.

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

 

 

select `users`.`id`, `users`.`name`, `users`.`email`, `countries`.`name` as `country_name` 
from `users` 
left join `countries` on `countries`.`id` = `users`.`country_id`

 

Laravel Query:

In this example select data like id, name email and country name but if you want all fileds then you can use * for select all data.

public function index()
{
    $users = User::select('users.id', 'users.name', 'users.email', 'countries.name as country_name')
                    ->leftJoin('countries', 'countries.id', '=', 'users.country_id')
                    ->get();
}

 Using DB:

$users = DB::table('users')
            ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
            ->get();

 

 

Laravel Left Join with Multiple Condition

Now, I will give example about multiple where condition with aggregate function.

User::leftJoin('posts', 'users.id', '=', 'posts.user_id')
       ->select('users.*')
       ->where('is_published', true)
       ->where('views','>=','100')
       ->get();

 


You might also like :

Recommended Post
Featured Post
Top 20 Best Javascript Tips and Tricks
Top 20 Best Javascript Tips an...

Welcome to the fascinating world of JavaScript, where innovation and creativity converge to deliver dynamic and interact...

Read More

Aug-14-2023

Datatable Custom Export Button Example
Datatable Custom Export Button...

Hello Guys, In this tutorial we will see how to add datatable custom export button example. datatable provide inbuilt...

Read More

Apr-26-2021

Laravel Accessor and Mutator Example
Laravel Accessor and Mutator E...

In this article, we will see the laravel accessor and mutator example. Here, we will learn what is accessor an...

Read More

Mar-16-2021

How To Build Live Chat App In Laravel 9 And Vue JS
How To Build Live Chat App In...

In this article, we will see how to build a live chat app in laravel 9 and vue js. Here, we will learn how to creat...

Read More

Feb-02-2023