Рaндомное отображение из БД

Скажите, как настроить рандомный вывод из БД? Я использую такой способ. Но кол-во в random должно быть не больше кол-ва записей в БД, иначе будет ошибка(You requested 10 items, but there are only 1 items available.). Можно ли как то настроить, что можно было выставить число в random больше, чем записей в БД и без ошибки и без доп.запроса на проверку кол-ва записей предварительно (это нужно, чтобы не переставлять в коде всё время цифры рандома, в зависимости от БД). В чистом php такой ошибки нет, а laravel ругается.

$users = DB::table('users')
    ->where('rating','>=','4')
    ->select('users.name','users.prof','users.uid','users.rating')
    ->get()
    ->random(10);


Ответы (1 шт):

Автор решения: Павел Кулик
$randomCount = 10;
$users = $users->random($users->count() > $randomCount ? $randomCount : $users->count());

Так не будет выполнен доп. запрос к БД. Считайте кол-во записей в коллекции.

→ Ссылка