ユーザーモデルクエリ関連BelongsToMany
var User = db.Model.extend({
initialize: function() {
this.on('creating', this.generateId, this);
},
tableName: 'users',
hasTimestamps: true,
hidden: ['password'],
companies: function(){
return this.belongsToMany(
require('./company'),
'users_companies',
'user_id',
'company_id'
)
},
charities: function(){
return this.belongsToMany(
require('./charity'),
'users_charities',
'user_id',
'charity_id'
).withPivot(['company_id']);
},
generateId: function(model, attrs, options) {
model.set('id', uuid.v4());
}
});
コントローラ
exports.getAllCharities = function(req, res){
new User({ id: req.user.id })
.charities()
.fetch()
.then(function(charities){
return res.json(charities.toJSON());
})
上記の作品は、しかし、私は「のcompany_id」のピボットフィールドでフィルタする返された慈善団体に照会できるようにする必要があります。 charries.where({company_id:1})。fetch()を試してみると、どこが慈善団体の機能ではないという例外が発生します。ソリューション
new User({ id: req.user.id })
.charities()
.query('where', 'company_id', '=', req.query.companyid)
.fetch()
.then(function(charities){
return res.json(charities.toJSON())
})
を発見
は、誰かがあなたは、基本的に「 - 等しい - ことをこの」自分を制限している.where({company_id: req.query.companyid})
を使用して、そのとまあ.where({company_id: req.query.companyid})