0
現在、私はExpressJSとSequelize ORMを使ってWebアプリケーションを構築しています。テーブルを照会しようとしているときに、値だけで照会する必要があることを認識したときに、私は立ち往生しました(つまり、値は1つまたは別のフィールドにある可能性があります)。Sequelize - 値だけでテーブルを照会
ここに特定のモデルがあります。
module.exports = (sequelize, DataTypes) => {
return sequelize.define('petRelation', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
sender: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'pets',
key: 'id'
}
},
receiver: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'pets',
key: 'id'
}
},
status: {
type: DataTypes.STRING
},
created_at: {
type: DataTypes.DATE,
allowNull: false
},
updated_at: DataTypes.DATE,
deleted_at: DataTypes.DATE
}, {
tableName: 'petRelation',
paranoid: true,
underscored: true
});
};
私のアプリケーションでは、友人関係を持つことができるペットがいます。私はペットが持っているすべての関係を列挙しようとしています。つまり、ペットのIDは「送信者」フィールドにも「受信者」フィールドにも置くことができます。
Sequelizeドキュメント、Google検索、スタック検索を使用して自分自身を文書化したが、何も役に立たなかった。
PetのIDが存在するフィールドがわかっている通常のクエリは、このようになります。
db.pets.findAll({
where: {
sender: petID
}
})
誰かがSequelizeで値だけでテーブルをクエリする方法を知っていれば、それは大歓迎です。
私はあなたがそのフィールドのいずれかに値だけでテーブルを照会することができれば知っているが、それはちょうど2つのフィールド(送信者と受信者)だ場合は、このようor
演算子を使用することができますいけない
いただき、ありがとうございます答え。それは有り難いです。私はあなたのソリューションを試して、それは魅力的なように働いた。あなたの答えを正しいものとしてマークしてください。 –