续集:父母至少有一个孩子
本教程将介绍续集:父母至少有一个孩子的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我的关系大致如下:
Parent: [id, name]
Children1: [id, parent_id, name]
Children2: [id, parent_id, name]
Children3: [id, parent_id, name]
Children4: [id, parent_id, name]
Parent
.hasMany -> Children1
.hasMany -> Children2
.hasMany -> Children3
.hasMany -> Children4
所以,如果我这样做:
Parent->findOne({
include: [{model: Children1}, {model: Children2}]
})
它只会将 Parent 带到有 children1 和 children2 的地方(即 Inner join).如果我这样做:
Parent->findOne({
include: [
{model: Children1, required: false},
{model: Children2, required: false}
]
})
它会带来 Parent,如果有的话,它会带来 Children1 和/或 Children2.(即左连接).
我想要做的是在且仅当 Children1 或 Children2 或 ChildrenN 存在时才带上父母.可以是任何一个 ChildrenN,也可以是所有的 ChildrenN.只要至少有 1 个,我想带上家长.
有什么想法吗?
推荐答案
将 required: true
添加到您的包含对象中,以使每个连接都成为右连接.您有四个单独的子表的任何原因?
好了关于续集:父母至少有一个孩子的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。