我该怎么做呢
示例:从最近的20行中随机选择5行
我需要用雄辩来做到这一点,并从数据库查询得到数据,而不是映射数据
我找到了这个查询,但是我不能把它转换成laravel eloquent…
查询:
选择tbl1。*from (select *from DemoTable ORDER BY ShippingDate DESC LIMIT 20→ORDER BY RAND() LIMIT 5;
可以使用此代码。更改模型和列的模型和列。我为测试
编写了一个用户return User::query()
->whereIn('id', function($query)
{
$query->from('users')
->selectRaw('id')
->orderByDesc('created_at')->limit(20);
})->inRandomOrder()->limit(5)->get();
如果你得到toSql()你会看到
select * from `users` where `id` in (select id from `users` order by `created_at` desc limit 20) limit 5