Ich möchte AND OR MySQL Abfragen in CI kombinieren. Ich habe diesen Thread bereits gesehen: http://codeigniter.com/forums/viewthread/92818/. Aber sie bieten dort nicht die exakte Lösung.Kombinieren von MySQL und OR-Abfragen in Codeigniter
Wie erstelle ich die folgende Abfrage ausschließlich mit dem CI-Framework? (ich kann die Abfrage einfach zu erstellen, ohne dass die Klammern aber dann ist es nicht die gleiche Abfrage.)
SELECT * FROM `Persons` WHERE
LastName='Svendson' AND Age="12" AND
(FirstName='Tove' OR FirstName='Ola' OR Gender="M" OR Country="India")
PS: Dies ist nur eine Beispielabfrage, auch wenn es & keinen Sinn macht, schlägt nicht die gesamte Schreiben oder Teil der Abfrage in einem einzigen where()
.
EDIT: Grundsätzlich möchte ich die Umsetzung der folgenden einfachen Abfrage:
SELECT * FROM `table` WHERE field1='value1' AND (field2='value2' OR field3='value3')
ja das wird funktionieren & das ist es was ich gerade benutze. Aber das ist nicht streng CI-Art, ich muss Strings manuell entkommen. Ich vermutete auch diese Art von Antwort, die ich in der Frage erwähnt habe: "Schlage nicht vor, den gesamten OR-Teil der Abfrage in einem einzigen where() zu schreiben." – gopi1410
Ich fragte dich in meiner ersten Antwort, ob du einen Grund dafür hättest active record, seit Definition einer Abfrage in() IS 'streng codeigniter', ist es gerade nicht aktiv record. In CI ist dies jedoch nicht möglich, da Sie keine geschachtelten Abfragen in AR ausführen können. Es gibt einen Abfragezeichenfolgen-Generator namens IgnitedQuery: http://www.assembla.com/wiki/show/IgnitedRecord/IgnitedQuery. –
Das funktioniert nicht für mich. Die 2. Stelle, wo die Bedingung die 1. Bedingung überschreibt. CodeIgniter V 2.1.4 – TARKUS