Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel 5 - ORM has() Relationship (Inverse - notHas)

In the Laravel 5 I can find all posts that have at least one comment using has method:

// Retrieve all posts that have at least one comment...
$posts = App\Post::has('comments')->get();

As theres no method like notHas, how can I find all posts that have no comments? (remembering that it's a hasMany relationship)


Reference:

Querying Relationship Existence

http://laravel.com/docs/5.1/eloquent-relationships#querying-relations

like image 357
Luciano Nascimento Avatar asked Dec 02 '22 15:12

Luciano Nascimento


1 Answers

There isn't a notHas() method as far as I'm aware, but finding records with a relationship count less than one usually satisfies this requirement:

$posts = App\Post::has('comments', '<', 1)->get();
like image 192
Maltronic Avatar answered Dec 06 '22 10:12

Maltronic