如果表具有关系,则加载其多个关系

问题描述 投票:0回答:1

我有一张桌子p3。这是p2的子代,而p2是p1的子代。如果p3有另一个孩子p4a,则加载p4a和p4b。其中p4a和p4b是p3的孩子。]

->has('p1.p2.p3.p4a')->with(['p1.p2.p3.p4a','p1.p2.p3.p4b']);
also tried 
->whereHas('p1.p2.p3.p4a', function($q){
$q->with(['p1.p2.p3.p4a','p1.p2.p3.p4b']);
}

Author::->has('p1.p2.p3.p4a')->with(['p1.p2.p3.p4a','p1.p2.p3.p4b'])->where('id',1)->first();

预期结果如果p4a至少有一条记录,则获取p4a和p4b的所有记录。

实际结果即使没有相关记录,也获取p4a和p4b

我有一张桌子p3。这是p2的子代,而p2是p1的子代。如果p3有另一个孩子p4a,则加载p4a和p4b。其中p4a和p4b是p3的孩子。 ->具有('p1.p2.p3.p4a')->具有(['p1 ....

mysql laravel lumen eager-loading
1个回答
0
投票

在这种情况下,您可以使用Eager loading

© www.soinside.com 2019 - 2024. All rights reserved.