Randomize Relationship Order

You can use inRandomOrder() to randomize Eloquent query result, but also you can use it to randomize the relationship entries you're loading with query.

1// If you have a quiz and want to randomize questions...
2 
3// 1. If you want to get questions in random order:
4$questions = Question::inRandomOrder()->get();
5 
6// 2. If you want to also get question options in random order:
7$questions = Question::with(['answers' => function($q) {
8 $q->inRandomOrder();
9}])->inRandomOrder()->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