user3641381
user3641381

Reputation: 1076

Using laravel eloquent relation to retrieve all records except NULL

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.

enter image description here

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

Answers (1)

Thomas Kim
Thomas Kim

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

Related Questions