Desidero combinare query AND OR mysql in CI. Ho già visto questa discussione: http://codeigniter.com/forums/viewthread/92818/. Ma non forniscono la soluzione esatta lì.combinazione di query mysql AND OR in Codeigniter
Come si crea la seguente query utilizzando esclusivamente il framework CI? (posso creare la query facilmente senza le parentesi, ma poi non è la stessa query.)
SELECT * FROM `Persons` WHERE
LastName='Svendson' AND Age="12" AND
(FirstName='Tove' OR FirstName='Ola' OR Gender="M" OR Country="India")
PS: Questo è solo un esempio di ricerca, anche se non ha senso & Non suggerire a scrivere l'intero OR parte della query all'interno di un singolo where()
.
EDIT: Fondamentalmente voglio l'attuazione del seguente query semplice:
SELECT * FROM `table` WHERE field1='value1' AND (field2='value2' OR field3='value3')
sì questo funzionerà e questo è quello che sto attualmente usando. Ma questo non è rigorosamente a senso unico, devo sfuggire manualmente alle stringhe. Inoltre, sospettavo questo tipo di risposta, così ho menzionato nella domanda "Non suggerire di scrivere l'intera parte OR della query all'interno di una singola dove()." – gopi1410
Ti ho chiesto nella mia risposta iniziale se avessi qualche motivo per farlo con record attivo, dal momento che definire una query all'interno di() È 'strict codeigniter', non è un record attivo. Ad ogni modo, questo non è possibile all'interno della CI dato che non ti permettono di fare query annidate in AR. C'è un costruttore di stringhe di query chiamato IgnitedQuery per questo: http://www.assembla.com/wiki/show/IgnitedRecord/IgnitedQuery. –
Questo non funziona per me. Il 2 ° in cui la condizione è prioritaria rispetto alla condizione 1a. CodeIgniter V 2.1.4 – TARKUS