如何使用带有sequelize属性的include?

时间:2014-02-19 14:29:52

标签: node.js orm sequelize.js relationship

任何想法如何使用包含属性(当你只需要包含所包含的表的特定字段时)和sequelize?

目前我有这个(但它没有按预期工作):

var attributes = ['id', 'name', 'bar.version', ['bar.last_modified', 'changed']];
foo.findAll({
    where      : where,
    attributes : attributes,
    include    : [bar]
}).success(function (result) { ...

3 个答案:

答案 0 :(得分:67)

这样的事情应该有效

foo.findAll({
    where      : where,
    attributes : attributes,
    include    : [{ model: bar, attributes: attributes}]
}).success(function (result) {

答案 1 :(得分:1)

我们可以做一些类似的事情,以在Node.js中使用sequelize排除或包含特定属性。

Payment.findAll({
    where: {
        DairyId: req.query.dairyid
    },
    attributes: {
        exclude: ['createdAt', 'updatedAt']
    },
    include: {
        model: Customer,
        attributes:['customerName', 'phoneNumber']
    }
})

答案 2 :(得分:0)

使用不带连字符 (-) 的选择,只使用像这样的空格。

Model.find().select('attr1 attr2 attr3')