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 likepaginate()
andlimit()
.
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๐