Sequelize.js 1対多の連想sequelize(リレーションズ/団体)サブクエリ
var City = sequelize.define('city', { countryCode: Sequelize.STRING });
var Country = sequelize.define('country', { isoCode: Sequelize.STRING });
// Here we can connect countries and cities base on country code
Country.hasMany(City, {foreignKey: 'countryCode', sourceKey: 'isoCode'});
City.belongsTo(Country, {foreignKey: 'countryCode', targetKey: 'isoCode'});
は、DB内の[国] & [シティ]、そのよう:
- Country-001
* City-001-1
* City-001-2
* City-001-3
- Country-002
* City-002-1
* City-002-2
* City-002-3
- Country-003
no city
- Country-004
* City-004-1
* City-004-2
* City-004-3
...
- Country-100
* City-100-1
* City-100-2
* City-100-3
私はクエリをしたいです[国]存在する[都市]、オフセットが&の場合は、そのようなSQLではなくORMを使用します。
Country.findAll({
where: {},
include: [],
offset: 0,
limit: 10
});
私はそれを行う方法がわからないのですか?
私は何らかの方法で試しましたが、うまく機能しません。 この方法は正しくありません。実際には[Country-003]ではなく[Country-003]から9が返されますが、制限は正しくありません。手始めに
Country.findAll({
where: {},
include: [mode: City, require: true],
offset: 0,
limit: 10
});
add false falseを試してみてください –
しかし[Country]には[City]は返されません。 – YETI