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