【问题标题】:How to fetch random record using eloquent model [duplicate]如何使用 eloquent 模型获取随机记录
【发布时间】:2019-07-26 17:43:30
【问题描述】:

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

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

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

【问题讨论】:

  • 简单模型::all()->random(1);会为你工作
  • 我已经看到了,但是没有where条件
  • 我知道,但我需要使用 where 子句。像 Modell::where('condition')->random(1);
  • 澄清一下,您要获取随机行还是随机行数?

标签: php laravel


【解决方案1】:

您可以按照此处的建议简单地添加到链inRandomOrder:

Laravel - Eloquent or Fluent random row

然后限制你的数据集。

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

【讨论】:

  • 非常感谢它的工作......
【解决方案2】:

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

【讨论】:

  • 我试过了,但我没有返回任何行。
  • 那么听起来你的查询没有任何结果。
  • 我再试一次,现在可以了,谢谢..
  • 是的,正是......这就是原因
猜你喜欢
  • 1970-01-01
  • 2017-06-05
  • 2010-12-16
  • 2017-10-04
  • 2018-06-06
  • 2011-07-17
  • 2014-08-08
  • 2013-01-30
  • 2015-03-30
相关资源
最近更新 更多