是否有一种方法或方法可以同时限制预先加载和嵌套的预先加载?

时间:2017-03-02 12:10:13

标签: laravel

我们可以使用Constraining Eager Loads之类的:

$users = App\User::with(['author' => function ($query) {
    $query->where('isActive', '1');
}])->get();

我们可以使用Nested Eager Loading之类的:

$books = App\Book::with('author.books')->get();

但是有没有办法同时使用它们。我的意思是在上面的例子中,热切的负载与作者同时活跃并且同时加载着作者的书籍?是否有方法或方法?

1 个答案:

答案 0 :(得分:2)

好的只是尝试一下这里的秃头。从未测试过。也许它有效,也许不是。

如果您实际嵌套了这样的热切加载

,该怎么办?
$users = App\User::with(['author' => function ($query) {
    $query->with(['books' => function ($subquery) {
        $subquery->where('isActive', 1);
    }])->where('isActive', '1');
}])->get();