Skip to main content
Quick Tip

Eloquent scopes inside of other relationships

Did you know that you can use Eloquent scopes inside of defining other relationships?

app/Models/Lesson.php:

public function scopePublished($query)
{
return $query->where('is_published', true);
}

app/Models/Course.php:

public function lessons(): HasMany
{
return $this->hasMany(Lesson::class);
}
 
public function publishedLessons(): HasMany
{
return $this->lessons()->published();
}

Enjoyed This Tip?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

Recent Courses on Laravel Daily

[NEW] NativePHP Mobile v4 with SuperNative: Mini-Course

5 lessons
18 min

Testing in Laravel 13 For Beginners

26 lessons
1 h 41 min read

Laravel 13 Eloquent: Expert Level

41 lessons
1 h 34 min