How To Fetch Resources Randomly in Laravel with a Single Line Of Code.

How To Fetch Resources Randomly in Laravel with a Single Line Of Code.

ยท

1 min read

Have you encountered a challenge where you need to fetch records from the database in no particular order using Laravel?

I found myself at this point once and here is how I solved it. All thanks to dear Google!๐Ÿ˜

This is a regular SQL query to fetch records randomly:

select * from `users` order by RAND()

But in Laravel, there is a method named inRandomOrder() which simply fetches the records in random order.

Here is a list of the few ways this method can be used:


//Fetch all records in random order
Model::inRandomOrder()->get();

// 5 indicates the number of records
Model::inRandomOrder()->limit(5)->get();

//Fetc all records in pages or sets of 6
Model::inRandomOrder()->paginate(6)->get();

// get one random record
Model::inRandomOrder()->first()

The helper method can also be used like this:

Model::where('name',$name)->inRandomOrder()->get();

PS: The inRandomOrder() method can also be used alongside other helper methods for fetching records like paginate() and limit().

Thats It!๐Ÿ˜

I trust this will be of great assistance๐Ÿฅฐ. I would also love to learn more about this so please feel free to drop your comments or send a direct message on twitter. Questions are welcomed. Don't forget to connect with me on socials.๐Ÿ˜Ž

Thank you๐Ÿ˜Ž

ย