当前位置: 首页 > 知识库问答 >
问题:

如何在laravel中按兰德顺序从数据库(雄辩)中选择几行

臧威
2023-03-14

我想从数据库中选择几个随机行,类似这样

select * from table order by rand limit 10

如何在Laravel雄辩模型中做到这一点?

共有2个答案

柳杰
2023-03-14

它比看起来要简单,你只需要使用萨福尔()集合方法。

随机洗牌方法随机洗牌集合中的项目:

$collection = collect([1, 2, 3, 4, 5]);
$shuffled = $collection->shuffle();
$shuffled->all();
// [3, 2, 5, 1, 4] // (generated randomly)

对于进一步的方法和信息,你应该查看laravel雄辩的文档,几乎所有的东西都有方法。

干杯。

晋承嗣
2023-03-14

这样做:

User::orderBy(DB::raw('RAND()'))->take(10)->get();
 类似资料:
  • 假设我在表中有7列,我想只选择其中的两列,类似这样 在laravel雄辩的模型中,它可能是这样的 但我猜这个表达式将选择id等于1的所有列,我只需要两列(名称、姓氏)。如何只选择两列?

  • 我有一个Laravel后端和一个VueJS前端。 我试图在一个具有hasOne关系的模型上生成一个查询,但只从关系中选择特定的列,做一个sum和一个group By。 null

  • 我有以下2张表: 我想显示所有的汽车,由desc订购,但也由从透视表订购。修复的条目可以具有许多特定的。 所以如果是created_at,并且是created_at,但是修复中的在,我想显示BEFORE,因为关系是较新的。 我也不想从关系表中加载数据。 我试过以下方法: 和 ^此查询返回修复表中的所有项,即使字段为。我不能把他们分组。

  • 我有一个名为的雄辩模型,链接到一个名为的数据库表。 是否有一个雄辩的函数可以让我从数据库中提取一个随机问题(或一组随机问题)?如下所示: 或者

  • 我有三个数据库表,分别称为user(id,name)、group(id,name)和user_group(user_id,group_id,valid_before),它们之间有多对多的关系。 用户可以是某个组的成员,直到时间时刻'valid_before'。如果valid_before小于当前时间,则必须将用户从组中排除,并且必须删除数据透视表中的相应行。我如何在透视表行中选择strtotime

  • 我想排序结果从数据库由几个colum。我这样尝试: 但它只按名称排序。如何在按名称排序后添加按视图排序。