Hey…
I’d like to knw how to count the number of trues or falses a boolean
in my model contains…
Example:
create_table :opinions do |t|
t.boolean :agree
end
In this migration… if :agree is true… that means that the user,
for instance, agrees and if :agree is false, the user disagrees…
I’m trying o calculate is as follows…
o = Opinion.new
o.agree = true
o.save
And then… When I do this…
Opinion.count
it returns 1 wich is good…
But as soon as I want to know the number of Trues or Falses… doesnt
work !!!
Example:
Opinion.count( :conditions => “agree == true” )
please somebody help me out with this…
Is there a way of counting the number of boolean values in your
db ???
Thx
Louis-Pierre
On Fri, Jul 4, 2008 at 11:11 PM, [email protected]
[email protected] wrote:
Example:
Opinion.count( :conditions => “agree == true” )
please somebody help me out with this…
Is there a way of counting the number of boolean values in your
db ???
Try “=” instead of “==”.
Opinion.count(:conditions => “agree = true”)
Something like that worked for me with one of my models in
script/console.
Regards,
Craig
Craig D. wrote:
On Fri, Jul 4, 2008 at 11:11 PM, [email protected]
[email protected] wrote:
Example:
Opinion.count( :conditions => “agree == true” )
please somebody help me out with this…
Is there a way of counting the number of boolean values in your
db ???
Try “=” instead of “==”.
Opinion.count(:conditions => “agree = true”)
Something like that worked for me with one of my models in
script/console.
Regards,
Craig
Opinion.count(:conditions => “agree = true”) will work fine.
I has thought Opinion.sum(:agree) will work fine too,but it didn’t,this
generate the sql:
select sum(‘opinions’.agree) as sum_agree from ‘opinions’,
and returns 0 forever,I copy this sql and execute it by hand,it will
work fine just like the Opinion.count(:conditions => “agree = true”).So
it maybe some strange?
On Sat, Jul 5, 2008 at 3:28 PM, Wu Junchen
[email protected] wrote:
Craig D. wrote:
Opinion.count( :conditions => “agree == true” )
Opinion.count(:conditions => “agree = true”)
This is a database specific solution and would break on PostgreSQL for
example.
A better way unless you really know what you are doing is:
Opinion.count(:conditions => {:agree => true})
Which will work on any database.
or
Opinion.count(:conditions => [“agree = ?”, true])
Mikel
–
Rails, RSpec, Puppet and Life blog…
Thx a lot guys !!!
Craig… I had already tried this before i came here to ask for
help… Thx anyway !
Mikel, you saved me… That’s exactly what I needed… thx a lot !!!
Louis-Pierre
On Sat, Jul 5, 2008 at 2:22 AM, Mikel L. [email protected]
wrote:
Opinion.count(:conditions => {:agree => true})
Which will work on any database.
or
Opinion.count(:conditions => [“agree = ?”, true])
Excellent point, Mikel.
Thanks,
Craig