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

14 浏览
0 Comments

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

这个问题在这里已经有答案了

Laravel - Eloquent或Fluent随机行

我正在尝试从Laravel 5.7的表中获取随机数量的行,但我找不到任何解决方法。

我已经使用了

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

它工作得很好。但是我需要应用where子句,比如Model::select(\'column\')->where(\'column\',\'value\')->random(number of rows\');

那么我如何使用eloquent实现这个目标呢?

请给我一些提示。

admin 更改状态以发布 2023年5月21日
0
0 Comments

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

0
0 Comments

你可以像这里建议的那样简单地添加到链中inRandomOrder

Laravel - Eloquent或Fluent随机行

然后限制你的数据集。

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

0