Reputation: 1076
Is there a way to retrieve all the records which has not null using eloquent model.
e.g.
I have relation setup
Plate model
public function project()
{
return $this->hasOne('App\Models\Project');
}
project model
public function plate()
{
return $this->belongsTo('App\Models\Plate');
}
How can I retrieve all the records which have value.
trying this return $p = \App\Models\Plate::with('project')->get();
will return everything, even those who have NULL
.
All I want is plates
which have projects attached to. I tried laravel documentation, but could't find anything. Is there also same approach for many
relations
Upvotes: 19
Views: 33530
Reputation: 15961
You can use the has
method to only retrieve plates that have a project.
\App\Models\Plate::with('project')->has('project')->get();
Docs on has
: http://laravel.com/docs/5.1/eloquent-relationships#querying-relations
Upvotes: 63