续集:父母至少有一个孩子

本教程将介绍续集:父母至少有一个孩子的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

续集:父母至少有一个孩子 教程 第1张

问题描述

我的关系大致如下:

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 添加到您的包含对象中,以使每个连接都成为右连接.您有四个单独的子表的任何原因?

好了关于续集:父母至少有一个孩子的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。