gpt4 book ai didi

php - Laravel 有很多子查询

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:46 25 4
gpt4 key购买 nike

我有一个 laravel hasMany 关系,我想从表中获取最后 10 条评论并按降序排列。这是我的 table 的样子

id  |   user_id |   comment_text
----------------------------------------------------------
1 30 foo
2 23 bar
3 17 hello
4 30 world
5 12 lorem
6 10 ipsum
7 17 dummy

我的结果应该是

id  |   user_id |   comment_text
----------------------------------------------------------
5 12 lorem
6 10 ipsum
7 17 dummy

我如何运行查询以获得预期结果

SELECT * FROM (
SELECT * FROM comments ORDER BY id DESC LIMIT 3
) sub
ORDER BY id ASC

我如何在 Laravel 模型中执行此操作?我可以在关系中运行子查询吗?这是我到目前为止的实现

public function latestComments($limit = 3)
{
return $this->hasMany(Comment::class)
->orderByDesc('id')
->limit($limit);
}

最佳答案

你在正确的道路上,稍微纠正一下:

public function latestComments($limit = 3)
{
return $this->hasMany(Comment::class)
->orderBy('id', 'desc')
->take($limit);
}

您可以在 official docs 上阅读更多关于 takeorderBy 的内容

关于php - Laravel 有很多子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48783517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com