Laravel 拉雷维尔口若悬河的“接手”和“命令人”`
当我尝试使用“take”和“orderBy”查询时,模型返回一些记录:Laravel 拉雷维尔口若悬河的“接手”和“命令人”`,laravel,laravel-5,laravel-eloquent,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条记录。 我
$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条记录。
我犯了什么错误?您需要更改订单,它将是:
$this->hasMany("App\User")->orderBy("id", "desc")->take(3)
这个
->take(3)
将执行SQL查询,因此您首先需要将orderBy(“id”,“desc”)
添加到hasMany关系中。我更改了链的顺序,但是当orderBy为null(“asc”作为默认值)时,结果会像我预期的那样返回。如果我理解正确,它工作不正确,您以错误的顺序获取它,或者?(1)$this->hasMany(“App\User”)->orderBy(“id”)->take(3)
(2)$this->hasMany(“App\User”)->orderBy(“id”,“desc”)->take(3)
(1)返回3条记录,但(2)返回空数组