У меня есть ниже моделиmodel.fetch с родственными моделями bookshelfjs
company.js
var Company = DB.Model.extend({
tableName: 'company',
hasTimestamps: true,
hasTimestamps: ['created_at', 'updated_at']
});
user.js
var User = DB.Model.extend({
tableName: 'user',
hasTimestamps: true,
hasTimestamps: ['created_at', 'updated_at'],
companies: function() {
return this.belongsToMany(Company);
}
});
С в many-to-many
соотношения между Company
и User
которые обрабатывают с помощью следующая таблица в базе данных.
user_company.js
var UserCompany = DB.Model.extend({
tableName: 'user_company',
hasTimestamps: true,
hasTimestamps: ['created_at', 'updated_at'],
users: function() {
return this.belongsToMany(User);
},
companies: function() {
return this.belongsToMany(Company);
}
});
Проблема заключается в том, когда я запускаю следующий запрос.
var user = new User({ id: req.params.id });
user.fetch({withRelated: ['companies']}).then(function(user) {
console.log(user);
}).catch(function(error) {
console.log(error);
});
Он регистрирует следующие ошибки, потому что он ищет company_user
таблицы вместо user_company
.
{ [Error: select `company`.*, `company_user`.`user_id` as `_pivot_user_id`, `company_user`.`company_id` as `_pivot_company_id` from `company` inner join `company_user` on `company_user`.`company_id` = `company`.`id` where `company_user`.`user_id` in (2) - ER_NO_SUCH_TABLE: Table 'navardeboon.company_user' doesn't exist]
code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlState: '42S02',
index: 0 }
Есть ли способ сказать ему, чтобы найти определенный стол, в то время как выбор отношений?