見出し画像

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();


参考リンク


この記事が気に入ったらサポートをしてみませんか?