如何解决Order 和 Limit 不能与 sequelize 中的关联同时工作
在这里,我尝试订购关联模型并将其限制为 10 条记录。我正在使用 sequelize 5.19.1 版和 sequelize-cli 5.5.1 版。我试过它在不限制记录的情况下进行排序,它工作得非常好,而在限制下工作时,它并没有按照应有的方式进行排序。它只是将记录限制为预期的 10 个,而不会同时对这些记录进行排序。
曾尝试使用 subquery: false
和 separate: true
选项,但在这种情况下不起作用。
协会
手术
surgery.hasMany(models.surgeryDoctors);
surgery.belongsTo(models.species,{
foreignKey: 'speciesId',targetKey: 'id',});
surgery.hasMany(models.surgerySpecialities);
外科医生
surgeryDoctors.belongsTo(models.doctors,{
foreignKey: 'doctorId',});
surgerySpecialities.belongsTo(models.doctorSpecialities,{
foreignKey: 'specialityId',});
查询
// here db comprises the sequelize it self.
const { rows,count } = await db.surgery.findAndCountAll({
include: [
{
model: db.surgeryDoctors,include: [
{
model: db.doctors,},],{
model: db.species,{
model: db.surgerySpecialities,include: [
{
model: db.doctorSpecialities,order: [['species','name','ASC']],limit: 10,});
有没有办法修复它或任何更好的替代方法来实现这一目标? (原始查询除外)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)