Forum: Italian Ruby user group Query con condizioni su campi boolean

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F514a744c5dc71c2a67e0f10023efaa8?d=identicon&s=25 Davide Spaggiari (spaggio)
on 2008-11-22 16:46
Ho la seguente query nel modello arguments:

Question.count :conditions => "argument_id == #{id} and admin_id ==
#{admin_id} and pubblica == xxxxx"

Qualcuno mi sa dire cosa devo sostituire al posto di xxxxx affinchè la
query funzioni valutando il valore boolean "pubblica" ??

Ho provato true, 1, con e senza apici, conversioni in striga,
conversioni in numero e mille altre possibilità, ma niente da fare.
La query senza la terza condizione funziona, ma non riesco proprio a
capire come valutare il valore true/false del campo "pubblica"...

Help !! :)
F514a744c5dc71c2a67e0f10023efaa8?d=identicon&s=25 Davide Spaggiari (spaggio)
on 2008-11-22 19:09
Come non detto, ho risolto con:

Question.count :conditions => "argument_id = #{id} and admin_id =
#{admin_id} and pubblica = 'f'"

Per maggiori chiarimenti:

http://dev.rubyonrails.org/ticket/2356
Bae4c0e2bac1ffc96ae6d48d80faef44?d=identicon&s=25 Andrea Franz (Guest)
on 2008-11-22 19:28
(Received via mailing list)
On Sat, Nov 22, 2008 at 7:09 PM, Davide Spaggiari
<davidespaggiari@gmail.com> wrote:
> Come non detto, ho risolto con:
>
> Question.count :conditions => "argument_id = #{id} and admin_id =
> #{admin_id} and pubblica = 'f'"

L'ideale sarebbe fare:

:conditions => ["argument_id = ? AND admin_id = ? AND pubblica = ?",
id, admin_id, true]

In automatico il true diventa 'f' o altro a seconda del database che
stai utilizzando.
Bae4c0e2bac1ffc96ae6d48d80faef44?d=identicon&s=25 Andrea Franz (Guest)
on 2008-11-22 19:32
(Received via mailing list)
2008/11/22 Andrea Franz <franz.andrea@gmail.com>:
> In automatico il true diventa 'f' o altro a seconda del database che
> stai utilizzando.


..correggo, il false diventa 'f' o altro, il true diventa 't' o altro :)
This topic is locked and can not be replied to.