Laravel 9 Left Join Query Example

Websolutionstuff | Mar-31-2022 | Categories : Laravel PHP MySQL

In this article, we will see the laravel 9 left join query example. laravel 9 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 9 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.

So, let's see examples of left join in laravel 9, laravel 9 join two tables, left join in laravel 9, laravel 9 left join query, laravel 9 left join group by, left join query in MySQL, left join query in PHP, laravel left join subquery, laravel 9 left join query, left join in laravel 9.

For the laravel 9 left join query example we need the first argument passed to the leftJoin method to be 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, laravel 9.

laravel_9_left_join

 

SQL Query :

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

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

 

 

The LEFT JOIN keyword returns all records from the left table (table1), and the matching records from the right table (table2). The result is 0 records from the right side, if there is no match.

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 * to 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();

$users = DB::table('users')
            ->rightJoin('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
Laravel 9 Multiple Authentication Using Middleware
Laravel 9 Multiple Authenticat...

In this article, we will see laravel 9 multiple authentications using middleware. Using middleware we authenticate the u...

Read More

Apr-13-2022

How To Create Custom Middleware In Laravel 9
How To Create Custom Middlewar...

In this article, we will see how to create custom middleware in laravel 9. Laravel middleware provides a conve...

Read More

Mar-27-2022

How to Use JSON Data Field in MySQL Database
How to Use JSON Data Field in...

Today, In this post we will see how to use json field in mysql database. In this tutorial i will give mysql json data ty...

Read More

Jun-04-2021

How to Increase max_input_vars in PHP Ubuntu
How to Increase max_input_vars...

Hey folks! If you've ever encountered issues with PHP hitting the max_input_vars limit, you're not alone. In thi...

Read More

Feb-02-2024