书架关系没有按预期工作

时间:2016-04-20 15:06:14

标签: mysql node.js bookshelf.js

我简化了4个表格如下:

表格

event:     id, location_id  
location:  id  
user:      id  
eventUser: event_id, user_id

关系

Event hasOne Location  
Event belongsToMany Users

Location belongsTo Event

User belongsToMany Events

EventUser belongsToMany Events  
EventUser belongsToMany Users

我希望获得带有用户ID的地点的活动

我尝试过的一个例子:

EventUser.forge().where({user_id: 1}).fetchAll({withRelated: ['Event', 'Event.Location']})

但是我无法让它返回任何事件。

我的设置是否正确?

1 个答案:

答案 0 :(得分:1)

解决方案是

User.forge().where({id: 1}).fetchAll({withRelated: ['Event.Location']})然后向下钻取模型以获得我需要的东西。我以为我可以使用EventUser而不是User来缩短一步。