Метод inRandomOrder
Метод inRandomOrder применяется к запросу Eloquent
или Query Builder и сортирует результат в случайном порядке.
Этот метод полезен для отображения случайных записей,
например, для блока "похожие статьи" или "случайные товары".
Метод не принимает никаких параметров и возвращает тот же
запрос, дополненный сортировкой.
Синтаксис
<?php
Model::inRandomOrder()->get();
?>
Пример
Давайте получим все статьи в случайном порядке:
<?php
use AppModelsArticle;
$articles = Article::inRandomOrder()->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 3"
"article 1"
"article 2"
Пример
Давайте получим одну случайную статью:
<?php
use AppModelsArticle;
$article = Article::inRandomOrder()->first();
echo $article->title;
?>
Результат выполнения кода:
"article 2"
Пример
Давайте получим 5 случайных статей:
<?php
use AppModelsArticle;
$articles = Article::inRandomOrder()->limit(5)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 4"
"article 1"
"article 5"
"article 2"
"article 3"
Пример
Давайте получим случайные статьи только с опубликованным статусом:
<?php
use AppModelsArticle;
$articles = Article::where('status', 'published')
->inRandomOrder()
->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 5"
"article 2"
"article 1"
Смотрите также
-
метод
orderBy,
который сортирует записи в заданном порядке -
метод
orderByDesc,
который сортирует записи по убыванию -
метод
latest,
который сортирует записи от новых к старым -
метод
oldest,
который сортирует записи от старых к новым