Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comptage des entrées associées avec Sequelize

Utilisez findAll() avec include() et sequelize.fn() pour le COUNT :

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

Ou, vous devrez peut-être ajouter un group aussi :

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