Javascript 定义两个表之间双向关系的正确方法

Javascript 定义两个表之间双向关系的正确方法,javascript,bookshelf.js,Javascript,Bookshelf.js,我有三张桌子: Employee (emp_id,name) Projects (pid,proj_status) Project_Allocation (pid,emp_id) 要查找属于我的项目的人员: 1.我有我的名字,我查询我的emp\U id。 2.使用我的emp_id,我从Project_Allocation(已完成的项目)查询(withRelated)我的所有项目,并在项目上定义了belongsTo关系 3.然后我选择状态为“LIVE”的项目的pid 4.现在,我在项目分配中选择

我有三张桌子:

Employee (emp_id,name)
Projects (pid,proj_status)
Project_Allocation (pid,emp_id)
要查找属于我的项目的人员:
1.我有我的名字,我查询我的emp\U id。
2.使用我的emp_id,我从Project_Allocation(已完成的项目)查询(withRelated)我的所有项目,并在项目上定义了belongsTo关系
3.然后我选择状态为“LIVE”的项目的pid
4.现在,我在项目分配中选择所有具有此pid的模型

我遇到的问题是在为Project和Project_分配表创建模式时。两者都需要对方,我无法同时加载它们。请建议我如何重写这个

以下是一些摘录:

项目分配文件:

var Project = require('./project');
var PASchema = Bookshelf.Model.extend({
tableName: 'project_allocation',
project: function(){
    return this.belongsTo(ProjectSchema, 'pid')
}
项目文件:

var ProjAlloc = require('./projAlloc');
var ProjectSchema = Bookshelf.Model.extend({
tableName: 'project',
idAttribute: 'pid',
allocatedIDs: function() {
    return this.belongsTo(PASchema,'pid')
}

问题在于
需要
。僵局是在那里造成的。我在一个单独的文件中定义了我的每个表,并要求在其他表定义(即其他文件)中定义它们。在一个文件中写入所有表定义,然后导出该对象,效果很好