0
アソシエーションのフィールドに自分のフィールドまたはに適用される条件でモデルを見つける方法はありますか?モデルの条件とSequelizeのアソシエーションの条件を組み合わせる
与えられたモデルModel
およびAssociation
(各Model
は1つのAssociation
を持ちます)。
const Model = sequelize.define('model', {
name: sequelize.STRING,
});
const Association = sequelize.define('association', {
name: sequelize.STRING,
});
Association.belongsTo(Model);
Model.hasOne(Association);
私はどちらかがname
等しい「テキスト」、またはは、「テキスト」に等しいname
とAssociation
を持っていたことを、すべてのModel
のを見つけたいです。
これまでのところ、私はSequelize.literal
という解決策を思いつきましたが、それは十分に頑丈に見えません。
Model.findAll({
attributes: ['id', 'name'],
include: [{
model: Association,
attributes: [],
}],
where: {
$or: [
{ name: 'test' },
Sequelize.literal('association.name = \'test\''),
],
},
});
良い方法はありますか?