Laravel Eloquent`take`和`orderBy`

时间:2017-03-21 08:40:46

标签: laravel laravel-5 laravel-eloquent

当我尝试使用“take”和“orderBy”查询时,模型会返回一些记录:

$this->hasMany("App\User")->take(3)

$this->hasMany("App\User")->orderBy("id", "desc")

但是当我将它们组合起来时,它会返回一个空数组:

$this->hasMany("App\User")->take(3)->orderBy("id", "desc")

我运行原始的sql(来自toSql()函数)  它按照我的预期返回3条记录。 我得到了什么错误?

1 个答案:

答案 0 :(得分:4)

您需要更改订单,它将是:

$this->hasMany("App\User")->orderBy("id", "desc")->take(3)

这个->take(3)将执行mysql查询,因此您首先需要将orderBy("id", "desc")添加到hasMany关系。