Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich OR und AND in ORM-Abfragen mischen?

Nun, nach ein wenig Recherche habe ich einen Patch gefunden, um KO2 ORM so zu ändern, dass open_paren() und close_paren() vorhanden sind, aber das Standardverhalten von orwhere in KO2 erlaubt nicht die gewünschte Operation, sodass die Parens mir nicht helfen werden. Ich habe mich damit abgefunden, dass die detaillierte Methode where(), die ich verwende, angesichts meiner Zeitbeschränkungen die beste Option für mich ist. Ich habe die Abfrage leicht geändert, um einige Besonderheiten in meiner MySQL-Instanz zu berücksichtigen.

Dies funktioniert und ist die letzte Abfrage für dieses Projekt.

$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();