Level 1
Solved :)
Here is my current scope:
public function scopeIsPublished($query) {
return $query
->where('status', 'published')
->whereHas('serie', function($q) {
$q->where('status', 'published');
})
->orWhere('status', 'published')
->whereNull('serie_id');
}
The sql looks like:
select * from "lessons" where ("status" = 'published' and exists (select * from "lessons" as "laravel_reserved_1" where "laravel_reserved_1"."id" = "lessons"."serie_id" and "status" = 'published' and "laravel_reserved_1"."deleted_at" is null) or "status" = 'published' and "serie_id" is null) and "lessons"."deleted_at" is null
2 likes