LaravelでEloquent Modelからランダムにデータ取得する

LaravelでEloquent Modelからランダムにデータ取得する

モデルからランダムに取得

Modelクラスでは、inRandomOrderメゾットと使用することでランダムな並び順にすることが出来ます。

ランダムに1件取得

Model::inRandomOrder()->first();

ランダムに10件取得

Model::inRandomOrder()->take(10)->get();

コレクションからランダムに取得

Collectionクラスでは、randomメゾットと使用することでランダムな並び順にすることが出来ます。

ランダムに1件取得

Collection::random();

ランダムに10件取得

Collection::random(10)->all();

リレーションからランダムに取得

Modelのリレーションの戻り値もcollectionクラスなので、上記と同様にrandomメゾットを使用できます。

ランダムに1件取得

$model->relation->random();

ランダムに10件取得

$model->relation->random(10)->all();

参考リンク