Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je mélanger OR et AND dans les requêtes ORM

Eh bien, après quelques recherches, j'ai trouvé un correctif pour modifier KO2 ORM afin d'avoir open_paren() et close_paren() mais le comportement par défaut de orwhere dans KO2 ne permet pas l'opération souhaitée, donc les parenthèses ne m'aideront pas. Je me suis résigné au fait que la méthode détaillée where() que j'utilise est la meilleure option pour moi compte tenu de mes contraintes de temps. J'ai légèrement modifié la requête pour tenir compte de certaines particularités de mon instance mysql.

Cela fonctionne et est la requête finale pour ce projet.

$unread = ORM::factory('record')
   ->where('(ServRepSupervisor = \'' . Auth::instance()->get_user()->name . '\' AND Followup_read = 0) OR (ServRepSupervisor = \'' . Auth::instance()->get_user()->name . '\' AND records.read = 0)')
   ->find_all();