Filter hasMany relationships

Just a code example from my project, showing the possibility of filtering hasMany relationships.

TagTypes -> hasMany Tags -> hasMany Examples

And you wanna query all the types, with their tags, but only those that have examples, ordering by most examples.

1$tag_types = TagType::with(['tags' => function ($query) {
2 $query->has('examples')
3 ->withCount('examples')
4 ->orderBy('examples_count', 'desc');
5 }])->get();

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 22 courses (477 lessons, total 38 h 20 min)
  • 2 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord