È possibile utilizzare la modalità di query secondaria di codeigniter per eseguire questa operazione per questo scopo sarà necessario modificare il codeigniter. Ti piace questa
accedere a Sistema/database/DB_active_rec.php Rimuovere parola chiave pubblica o protetti da queste funzioni
public function _compile_select($select_override = FALSE)
public function _reset_select()
scrittura Ora subquery in disponibile Ed ora ecco la tua query con record attivo
$this->db->select('trans_id');
$this->db->from('myTable');
$this->db->where('code','B');
$subQuery = $this->db->_compile_select();
$this->db->_reset_select();
// And now your main query
$this->db->select("*");
$this->db->where_in("$subQuery");
$this->db->where('code !=', 'B');
$this->db->get('myTable');
E la cosa è fatta. Saluti!!!
Nota: Durante l'utilizzo di query sub è necessario utilizzare
$this->db->from('myTable')
invece di
$this->db->get('myTable')
che esegue la query.
Guarda anche questo
How can I rewrite this SQL into CodeIgniter's Active Records?
Nota: In Codeigntier 3 queste funzioni sono già di dominio pubblico in modo non c'è bisogno di hack loro.
fonte
2012-06-14 10:44:04
ha fatto si utilizza subquery in CodeIgniter come ho postato –
Sì, sono riuscito a utilizzare con successo pochi minuti fa .. :) Grazie :) –
@raheelshan. Vuoi controllare questo post. http://stackoverflow.com/q/11045611/1209690 Grazie :) –