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