Where condition in Laravel Relationship Example

By Hardik Savani | January 4, 2019 | | 23763 Viewer | Category : Laravel


Laravel 5 provide great feature as model relationship. but if you need to use where clause on your relation model then how you can do it?, You can make where condition using whereHas function. it doesn't matter which relation you used like one to one, one to many, many to many, has many through etc.

Sometime might be you need to add where condition with your relation model then you can simply use whereHas() as i provide bellow example.

Several days ago i had same situation when i used laravel relationship. need to use where condition like i need to get those users that country is "India". so i write condition like as bellow example:

Example:

$users = User::whereHas('countries', function($q){

$q->where('name', '=', 'India');

})->get();

dd($users);

You can also pass dynamic variable inside the whereHas() like this way:

Example 2:

$search = 'India';

$users = User::whereHas('countries', function($q) use($search){

$q->where('name', '=', $search);

})->get();

dd($users);

I hope it can help you....



Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.


We are Recommending you: