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

Commit a4c973f4 by Sascha Depold

added conditions to count method

1 parent ea1c1c66
var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize, var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize,
sequelize = new Sequelize("sequelize_test", "root", null, { disableLogging: false }) sequelize = new Sequelize("sequelize_test", "root", null, { disableLogging: true })
var Person = sequelize.define('person', { name: Sequelize.STRING }) var Person = sequelize.define('person', { name: Sequelize.STRING })
...@@ -8,7 +8,7 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() { ...@@ -8,7 +8,7 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() {
queries = [] queries = []
for(var i = 0; i < count; i++) { for(var i = 0; i < count; i++) {
var p = new Person({name: 'someone'}) var p = new Person({name: 'someone' + (i%3)})
queries.push({ save: p }) queries.push({ save: p })
} }
...@@ -19,5 +19,9 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() { ...@@ -19,5 +19,9 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() {
Person.count(function(count) { Person.count(function(count) {
Sequelize.Helper.log("Counted " + count + " elements!") Sequelize.Helper.log("Counted " + count + " elements!")
}) })
Person.count({name: 'someone2'}, function(count) {
Sequelize.Helper.log("Counted " + count + " elements with name = someone2!")
})
}) })
}) })
\ No newline at end of file
...@@ -259,9 +259,15 @@ exports.SequelizeTable = function(Sequelize, sequelize, tableName, attributes, o ...@@ -259,9 +259,15 @@ exports.SequelizeTable = function(Sequelize, sequelize, tableName, attributes, o
return _table return _table
}, },
count: function(callback) { count: function(conditions, callback) {
sequelize.query(Sequelize.sqlQueryFor("select", {fields: "count(id)", table: table.tableName}), function(result) { var _callback = (typeof conditions == 'function') ? conditions : callback
callback && callback(result[0]["count(id)"]) , options = {fields: "count(id)", table: table.tableName}
if (typeof conditions != 'function')
options.where = conditions
sequelize.query(Sequelize.sqlQueryFor("select", options), function(result) {
_callback && _callback(result[0]["count(id)"])
}) })
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!