问题描述
我目前有两个包含以下数据的表:
Parent: ID,Name,PIN
Child: ID,PIN,ParentID
我目前使用Knex这样设置查询:
db('Parents AS P')
.join('Children AS C','C.ParentID','P.ID')
.where('C.ParentID',ID)
.select([
'C.PIN AS ChildPIN','C.Name AS ChildName','P.Name AS ParentName','P.PIN AS ParentPIN',])
我当前正在将数据解析为以下格式:
[
{ Name: 'Name1',PIN: '1234',type: 'Parent' },{ Name: 'Name2',PIN: '2345',type: 'Child' }
]
这完全可以正常工作,除了父母没有孩子的情况之外,因为它根本不会提取任何数据,包括父母信息。在这种情况下,有什么解决方法可以避免必须执行第二个API请求?谢谢!
解决方法
使用左外连接代替连接
delete()