В этой статье блога мы рассмотрим различные методы получения случайного количества записей из базы данных с помощью Laravel. Независимо от того, создаете ли вы систему рекомендаций, приложение для викторин или просто хотите продемонстрировать случайный контент на своем веб-сайте, эти методы пригодятся. Итак, давайте углубимся и воспользуемся мощью Laravel!
Метод 1: использование метода «inRandomOrder» Eloquent
$randomData = YourModel::inRandomOrder()->take($n)->get();
В этом методе мы используем Eloquent ORM от Laravel для извлечения случайных данных из базы данных. Метод inRandomOrder
сортирует записи в случайном порядке, а метод take
указывает количество извлекаемых записей.
Метод 2. Использование метода OrderByRaw в Построителе запросов
$randomData = DB::table('your_table')->orderByRaw('RAND()')->take($n)->get();
При таком подходе мы используем построитель запросов Laravel для создания пользовательского запроса. Мы используем метод orderByRaw
с функцией RAND()
, которая генерирует случайное число для каждой строки и соответствующим образом упорядочивает записи.
Метод 3: сочетание «inRandomOrder» и «выдергивания» для случайных идентификаторов
$randomIds = YourModel::inRandomOrder()->pluck('id')->take($n)->toArray();
$randomData = YourModel::whereIn('id', $randomIds)->get();
Здесь мы сначала извлекаем случайный набор идентификаторов, используя метод inRandomOrder
и pluck
столбец «id». Затем мы используем метод whereIn
для получения соответствующих записей из базы данных.
Метод 4: случайная выборка с использованием методов «получить» и «перетасовать»
$allData = YourModel::all();
$randomData = $allData->shuffle()->take($n);
В этом методе мы сначала извлекаем все записи из базы данных с помощью метода all
. Затем мы перемешиваем коллекцию с помощью метода shuffle
и, наконец, извлекаем желаемое количество случайных записей с помощью метода take
.
Извлечение случайных данных из базы данных — обычное требование во многих приложениях. В этой статье мы рассмотрели несколько методов выполнения этой задачи с помощью Laravel. Независимо от того, предпочитаете ли вы использовать Eloquent или Query Builder, теперь у вас есть множество методов для легкого получения случайных данных. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим конкретным потребностям. Приятного кодирования!