![]() |
[Résolu][Rails] Count avec condition - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu][Rails] Count avec condition (/showthread.php?tid=5710) |
[Résolu][Rails] Count avec condition - popayan - 26-09-2011 Bonjour! Une petite question en passant: J'ai un modèle Message avec un champ "readed" avec comme valeur 0 ou 1. Dans la console, je fais un Message.count(:conditions => [ "receiver_id = ? AND readed = ?", 1, 0 ]), il me retourne 0 alors que normalement il devrait me retourner 3. Si je fais l'inverse Message.count(:conditions => [ "receiver_id = ? AND readed = ?", 1, 1 ]), il me retourne bien 2... Où est ce que je pourrais avoir un problème? (Je sens gros comme une maison que ca va être un truc tout con...) RE: [Rails] Count avec condition - Sephi-Chan - 26-09-2011 Oula, c'est bizarre comme approche ça. En général on utilise plutôt les associations et les scope ! Je vais chez le toubib mais à mon retour je te fais une belle réponse. ![]() Dans l'esprit, tu devrais plutôt avoir user.received_messages.unread.count. RE: [Rails] Count avec condition - Sephi-Chan - 26-09-2011 (26-09-2011, 03:05 PM)popayan a écrit : Bonjour! Tu parles d'une colonne readed à 0 ou 1. Tu devrais plutôt utiliser le type booléen proposé dans les migrations. C'est fait pour et ça donne quelques méthodes pratiques. De plus, ça permet de tester directement la valeur de l'attribut, car même si ça contient 0, c'est évalué comme true par Ruby au sein d'une condition ! J'en profite pour ajouter que read étant irrégulier, readed n'existe pas. ![]() Quand tu crées une colonne booléenne, pense à bien mettre null à false et à specifier un default (à true ou false selon ton besoin, ici je mettrais false) dans la migration. Exemple :
Le code que je vais te proposer te permettra d'écrire des choses comme :
Voilà les modèles Message et User :
J'espère que ça t'aidera ! ![]() RE: [Rails] Count avec condition - popayan - 26-09-2011 le type boolean a l'air bien sympa en effet, je regarde ca demain, merci beaucoup :p |