如何使用雄辩的模型获取随机记录

时间:2019-03-05 09:42:39

标签: php laravel

我正在尝试从laravel 5.7中的表中获取随机数的行,但找不到任何解决方案。 我已经使用

 Model::all()->random(2);

工作正常。但是我需要对其应用where子句,例如Model::select('column')->where('column','value')->random(number of rows'); 那么我该如何用雄辩的方式实现这一目标。 请给我任何建议。

2 个答案:

答案 0 :(得分:3)

您可以按照以下建议将其简单地添加到链inRandomOrder中:

Laravel - Eloquent or Fluent random row

然后限制您的数据集。

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

答案 1 :(得分:2)

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