Ein*_*mer 4 laravel eloquent laravel-5
当我尝试使用每个“take”和“orderBy”查询时,模型返回一些记录:
$this->hasMany("App\User")->take(3)
$this->hasMany("App\User")->orderBy("id", "desc")
但是当我组合它们时,它返回一个空数组:
$this->hasMany("App\User")->take(3)->orderBy("id", "desc")
Run Code Online (Sandbox Code Playgroud)
我运行原始 sql(来自 toSql() 函数),它按照我的预期返回 3 条记录。我犯了什么错误?
您需要更改顺序,它将是:
$this->hasMany("App\User")->orderBy("id", "desc")->take(3)
Run Code Online (Sandbox Code Playgroud)
这->take(3)将执行 SQL 查询,因此您首先需要将 添加orderBy("id", "desc")到 hasMany 关系中。