Laravel Framework, PHP & MySQL, Tutorials

Retrieving records in a random order is simple with MySQL using the RAND() function but it's not very random ironically especially when dealing with a few records. a better way is to make use of inRandomOrder attribute that Laravel provides for models.

In this example return 3 records in a random order.

$rand = Post::inRandomOrder()->take(3)->get();