不要怂,就是干,撸起袖子干!

Commit 9107d5e2 by Sascha Depold

added option to force find/findAll to fetch associations

1 parent 46af7eca
Showing with 18 additions and 4 deletions
......@@ -112,13 +112,24 @@ exports.SequelizeTable = function(Sequelize, sequelize, tableName, attributes, o
sequelize.query(
Sequelize.sqlQueryFor('select', queryOptions),
function(result) {
var objects = Sequelize.Helper.Array.map(result, function(r) { return table.sqlResultToObject(r) })
if(_callback) _callback(objects)
var objects = result.map(function(r) { return table.sqlResultToObject(r) })
if(queryOptions.fetchAssociations) {
var fetchings = []
objects.map(function(object) { fetchings.push({fetchAssociations: object}) })
Sequelize.chainQueries(fetchings, function() {
if(_callback) _callback(objects)
})
} else {
if(_callback) _callback(objects)
}
}
)
},
find: function(conditions, callback) {
find: function(conditions, options, callback) {
// use the second param as callback if it is no object (hash)
var _callback = (typeof options == 'object') ? callback : options
sequelize.query(
Sequelize.sqlQueryFor('select', {
table: table.tableName,
......@@ -127,7 +138,10 @@ exports.SequelizeTable = function(Sequelize, sequelize, tableName, attributes, o
limit: 1
}), function(result) {
var _result = result[0] ? table.sqlResultToObject(result[0]) : null
if (callback) callback(_result)
if(options.fetchAssociations && (_result != null))
_result.fetchAssociations(function() { if (_callback) _callback(_result) })
else
if (_callback) _callback(_result)
}
)
},
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!