首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果一个表有关系,那么加载它的多个关系

如果一个表有关系,那么加载它的多个关系
EN

Stack Overflow用户
提问于 2019-11-06 15:17:35
回答 1查看 38关注 0票数 0

我有一张p3桌子。它是p2的子节点,p2是p1的子节点。如果p3有另一个子p4a,则加载p4a,并且p4b.where、p4a和p4b是p3的子级。

代码语言:javascript
复制
->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,即使没有相关记录

EN

回答 1

Stack Overflow用户

发布于 2019-11-06 15:38:19

Dilip的答案是正确的,还有一种方法可以定义要加载的现有数量

下面的示例来自laravel的文档。在函数中,你可以让所有的conditions.would为你工作?

代码语言:javascript
复制
// Retrieve posts with at least ten comments containing words like foo%...
$posts = App\Post::whereHas('comments', function (Builder $query) {
    $query->where('content', 'like', 'foo%');
}, '>=', 10)->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58724912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档