Javascript 查询Bookshelf.js时,如何访问从父类型继承的模型中的其他列
在我的项目中,我有一个父表Javascript 查询Bookshelf.js时,如何访问从父类型继承的模型中的其他列,javascript,node.js,postgresql,knex.js,bookshelf.js,Javascript,Node.js,Postgresql,Knex.js,Bookshelf.js,在我的项目中,我有一个父表'Tasks',其中包含'owner\u id'和'title'等字段。我还有两种特定的任务变体,分别称为'TaskFind'和'TaskFix'。它们都扩展了'Tasks'表,并提供了额外的列 我可以使用Bookshelf的forge创建儿童模型的实例。但是当我尝试查询所有任务时,我无法访问扩展模型中的字段 例如,假设我有一个数据库,其中一个实例是TaskFix,另一个实例是TaskFind。如果我像这样查询所有任务: Task .fetchAll() .th
'Tasks'
,其中包含'owner\u id'
和'title'
等字段。我还有两种特定的任务变体,分别称为'TaskFind'
和'TaskFix'
。它们都扩展了'Tasks'
表,并提供了额外的列
我可以使用Bookshelf的forge
创建儿童模型的实例。但是当我尝试查询所有任务时,我无法访问扩展模型中的字段
例如,假设我有一个数据库,其中一个实例是TaskFix
,另一个实例是TaskFind
。如果我像这样查询所有任务
:
Task
.fetchAll()
.then(results => {
res.json(results);
});
{
{
id : 1,
owner_id : 1,
title : "My TaskFind"
additional_columns : ...
},
{
id : 2,
owner_id : 1,
title : "My TaskFix"
additional_columns : ...
}
}
结果是这样的
{
{
id : 1,
owner_id : 1,
title : "My TaskFind"
},
{
id : 2,
owner_id : 1,
title : "My TaskFix"
}
}
实际上,我希望它们看起来像这样:
Task
.fetchAll()
.then(results => {
res.json(results);
});
{
{
id : 1,
owner_id : 1,
title : "My TaskFind"
additional_columns : ...
},
{
id : 2,
owner_id : 1,
title : "My TaskFix"
additional_columns : ...
}
}
如果我单独查询它们,就会得到额外的列。例如:
TaskFix // (rather than just 'Task')
.fetchAll()
.then(results => {
res.json(results);
});
工作并检索所有附加列
你知道Bookshelf.js中是否可以这样做吗?如果没有,有好的解决方法吗?如果我遵循您的方法,您只需要定义一对多关系:当您使用withRelated选项构建查询时,使用fetch():如果我遵循您的方法,您只需要定义一对多关系:当您使用withRelated选项构建查询时,使用fetch():