Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zählen der zugehörigen Einträge mit Sequelize

Verwenden Sie findAll() mit include() und sequelize.fn() für COUNT :

Location.findAll({
    attributes: { 
        include: [[Sequelize.fn("COUNT", Sequelize.col("sensors.id")), "sensorCount"]] 
    },
    include: [{
        model: Sensor, attributes: []
    }]
});

Oder Sie müssen möglicherweise eine group hinzufügen auch:

Location.findAll({
    attributes: { 
        include: [[Sequelize.fn("COUNT", Sequelize.col("sensors.id")), "sensorCount"]] 
    },
    include: [{
        model: Sensor, attributes: []
    }],
    group: ['Location.id']
})