年などの情報は、データ以降、テーブル名として保存しないでください。実際に使用できるデータとして、個別のテーブルエントリとして保存する必要があります。
company_historical_<year>
を変更します company_historical
だけに company_historical_years
という新しいテーブルを作成します 会社の歴史の可能性のあるすべての年があります エントリを持つことができます。
次に、会社の履歴間の関係を作成します エントリおよび関連するCompanyHistorcal Years エントリ。
つまり、次のようなものです:
var CompanyHistoricalYears = sequelize.define('company_historical_years', {
year: {
type: Sequelize.INTEGER
},
classMethods: {
associate: function (models) {
CompanyHistoricalYears.hasMany(models.CompanyHistorical);
}
}
};
var CompanyHistorical = sequelize.define('company_historical', {
...
classMethods: {
associate: function (models) {
CompanyHistorical.belongsTo(models.CompanyHistoricalYears);
}
}
};
次に、次のコマンドでクエリを実行できます:
CompanyHistoricalYears.findOne({
where: {
year: 2011, // or you can use "new Date().getFullYear()"
},
include: [CompanyHistorical]
});
これにより、単一のCompanyHistoricalYears
が得られます エントリとすべてのCompanyHistorical
その年内のエントリ。
これ以外の意味がある場合は、質問があれば遠慮なくコメントしてください。