laravelで記事一覧をランダム表示する
Laravelの記事出力一覧を、日付順とかではなくランダムにしたいときの書き方。
結論
こんな風に書くことで取得ができる。
Article::inRandomOrder()->get();
// laravel/app/Http/Controllers/ArticleController.php
class ArticleController extends Controller {
// index表示
public function index() {
// 記事一覧の取得
$articles = Article::inRandomOrder()->get();
//略
}
//略
}
補足
Article::all()->sortByDesc( 'exec_at' );
元々は、このようにして日付順で並べていましたが、アイデア創発的なデータベースであったため、ランダムに記事を並べたくなり今回導入しました。
使用したのは、Laravelにある、inRandomOrderメソッド。
「結論」では、Articleモデルを使用したEloquentORMで引っ張ってきましたが、DBクラスを使って書くなら、次のようになるのでしょうか。
DB::table('articles')->inRandomOrder()->get();
参考リンク
この記事が気に入ったらサポートをしてみませんか?