【发布时间】:2014-03-27 07:39:39
【问题描述】:
我有以下查询,它击败了我的数据库中的废话,因为它对每个关系都进行了一次查询:
$projects = $this->project->all()->sortBy(function ($item) {
return $item->votes()->count();
}, SORT_REGULAR, true)->take(30);
我尝试了很多不同的方法:
$projects = $this->project->with('Vote')->all()->sortBy(...)->take(30);
调用未定义的方法 Illuminate\Database\Query\Builder::all()
$projects = $this->project->with('Vote')->get()->sortBy(...)->take(30);
调用未定义的方法 Illuminate\Database\Query\Builder::Vote()
...
在模板中,我正在遍历项目并使用$project->votes()->count()
进行急切加载的正确方法是什么?
【问题讨论】:
-
对不起!我已经删除了答案,因为它不起作用,如果我能使它起作用,我会发布。
-
感谢您的努力,但我会尝试不同的解决方案!
标签: laravel laravel-4 eloquent eager-loading