ОБНОВЛЕНИЕ ДЛЯ Laravel 5,3
Я был рад обнаружить, что это теперь родная функция запроса! : D
Метод inRandomOrder
может использоваться для сортировки результатов запроса случайным образом. Например, вы можете использовать этот метод для извлечения случайного пользователя:
$randomUser = DB::table('users')
->inRandomOrder()
->first();
К сожалению, ни один из этих ответов не в полной мере использовать Laravel 5'коллекций. Если вы пришли сюда из Google, как и я, ища полностью родное решение, посмотрите ниже!
Ответ от Alpha имеет недостаток зависимости базы данных, и, как он отметил, Бенджамин может создать проблему, когда строки удаляются между ними. Очень маловероятно, но все же возможно.
Вот решение на одну строку, чтобы выбрать случайные строки в Laravel 5+
// The setup
$numberOfRows = 4;
$models = Model::all(); // or use a ::where()->get();
// And the actual randomisation line
$randRows = $models->shuffle()->slice(0,numberOfRows);
вуаля - счастливый кодирования! Проголосуйте, когда увидите это, чтобы он поднялся на страницу :)
Какой код вы пробовали? Это работает, возможно, вы что-то пропустили –
Это, кстати, очень плохой результат. – rmobis
Можете ли вы поделиться по-разному? У меня есть c. 30 000 известных высказываний в базе данных ... – Peter