Skip to content

Commit

Permalink
added conditions to count method
Browse files Browse the repository at this point in the history
  • Loading branch information
sdepold committed Dec 13, 2010
1 parent ea1c1c6 commit a4c973f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
8 changes: 6 additions & 2 deletions examples/Count/app.js
@@ -1,5 +1,5 @@
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 })

Expand All @@ -8,7 +8,7 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() {
queries = []

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 })
}

Expand All @@ -19,5 +19,9 @@ Sequelize.chainQueries({drop: sequelize}, {sync: sequelize}, function() {
Person.count(function(count) {
Sequelize.Helper.log("Counted " + count + " elements!")
})

Person.count({name: 'someone2'}, function(count) {
Sequelize.Helper.log("Counted " + count + " elements with name = someone2!")
})
})
})
12 changes: 9 additions & 3 deletions lib/sequelize/SequelizeTable.js
Expand Up @@ -259,9 +259,15 @@ exports.SequelizeTable = function(Sequelize, sequelize, tableName, attributes, o
return _table
},

count: function(callback) {
sequelize.query(Sequelize.sqlQueryFor("select", {fields: "count(id)", table: table.tableName}), function(result) {
callback && callback(result[0]["count(id)"])
count: function(conditions, callback) {
var _callback = (typeof conditions == 'function') ? conditions : callback
, 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)"])
})
}
}
Expand Down

0 comments on commit a4c973f

Please sign in to comment.