如何使用 eloquent 模型获取随机记录

Ria*_*han 7 php laravel

我试图从 Laravel 5.7 中的表中获取随机数的行,但我找不到任何解决方案。我用过

 Model::all()->random(2);
Run Code Online (Sandbox Code Playgroud)

它工作正常。但是我需要像Model::select('column')->where('column','value')->random(number of rows'); 这样应用 where 子句,那么我如何使用 eloquent 来实现这一点。请给我任何建议。

Rom*_*rik 11

您可以简单地添加到 chain inRandomOrder,如下所示:

Laravel - Eloquent 或 Fluent 随机行

然后限制你的数据集。

Model::select('column')
    ->where('column','value')
    ->inRandomOrder()
    ->limit(2) // here is yours limit
    ->get();
Run Code Online (Sandbox Code Playgroud)


Del*_*lan 4

您可以将该inRandomOrder方法与 结合使用first,如下所示:Model::inRandomOrder()->select('column')->where('column','value')->first();