Laravel eloquent join 2, 3, or multiple tables example. Here, you will learn how to use laravel eloquent join 2 or multiple tables for fetching data from database tables.
And As well as how to use laravel eloquent join() with multiple where conditions.
If you want to join two or multiple tables in laravel then you can use laravel eloquent join(), left join(), right join(), cross join(). And another option to join two or multiple table, you can use laravel eloquent relationships instead of laravel join.
Note that, you can also join two or multiple tables using laravel left, rigth and cross join.
Laravel JOIN eloquent returns all rows from the both table, if there are matches in the both table. Otherwise, the result is NULL.
Now, demonstrates laravel eloquent join with the following examples. You can see the following example of laravel eloquent join() method:
Here, fetch data using laravel eloquent join(), you can see the following example:
$users = User::join('posts', 'users.id', '=', 'posts.user_id')
->get(['users.*', 'posts.descrption']);
When you dump the above-given laravel eloquent join query, you will get the following SQL query:
select `users`.*, `posts`.`descrption` from `users`
inner join `posts` on `users`.`id` = `posts`.`user_id`
In this example, get data using laravel eloquent join 3 table, you can see the following example:
$users = User::join('posts', 'posts.user_id', '=', 'users.id')
->join('comments', 'comments.post_id', '=', 'posts.id')
->get(['users.*', 'posts.descrption']);
When you dump the above-given laravel eloquent join 3 table query, you will get the following SQL query:
select `users`.*, `posts`.`descrption` from `users`
inner join `posts` on `posts`.`user_id` = `users`.`id`
inner join `comments` on `comments`.`post_id` = `posts`.`id`
In this example, get data using laravel eloquent join with multiple where conditions, you can see the following example:
$users = User::join('posts', 'posts.user_id', '=', 'users.id')
->where('users.status', 'active')
->where('posts.status','active')
->get(['users.*', 'posts.descrption']);
When you dump the above-given laravel eloquent join with multiple conditions query, you will get the following SQL query:
select `users`.*, `posts`.`descrption` from `users`
inner join `posts` on `posts`.`user_id` = `users`.`id`
where `users`.`status` = active and `posts`.`status` = active
**In another option instead of join laravel, **you can use laravel relationship, once you created laravel relationship it will work like join.
#laravel