Ho una domanda sulle condizioni di esso al di sotto (meno selezionare, da, ecc)Codeigniter DB query con cui, o, e .. e come
$this->db->where('show_year', $yyyy);
$this->db->or_where('idn', $idn);
$this->db->or_like('post_slug', $idn);
che forma
SELECT * FROM (`nyb_articles`)
WHERE `show_year` = '2009'
OR `idn` = 'the'
AND `post_slug` LIKE '%the%'
Tuttavia sto cercando di farlo essere più simile
SELECT * FROM (`nyb_articles`)
WHERE `show_year` = '2009'
AND (`idn` = 'the' OR `post_slug` LIKE '%the%')
il mio problema è Im non sicuro se record attivo di CI supporta questa nozione, e se lo fa, come sarebbe Lo affronterò, dato che non riesco a trovarlo da nessuna parte nei documenti. Non importa come cambio lo like
, or_like
, where
, or_where
Non riesco nemmeno a inchiodare qualcosa di simile. Quindi qualcuno ha qualche idea? Preferirei stare lontano da una query grezza, se possibile, ma se dovessi prepararne uno e farlo in quel modo, preferirei non farlo.
Penso che questa risposta potrebbe aiutare, http://stackoverflow.com/questions/11937867/nested-where-clauses-codeigniter-mysql- query/11940789 # 11940789 basta lanciare la parte '(...)' all'interno di una '$ this-> db-> dove()' chiama come stringa (con '()' s) – complex857
Penso che potresti essere su a qualcosa con quello. Speravo che ci fosse un modo per farla rimanere suddivisa in parti per renderlo più facile da cambiare nel tempo come è raffinato, e correre lungo la linea che costruisce l'intera query nella sua interezza attraverso condizioni casuali ma se questo è l'unico caso Lo prendo, buon ritrovamento – chris