Comment écrire une instruction where_in dans une sous-requête en utilisant des enregistrements actifs de codeigniter?CodeIgniter Active Records où dans la sous-requête
$query = $this->db->query("SELECT SUM(a.transaction_payment_amount) FROM
transaction_payment a WHERE a.transaction_link IN
(SELECT transaction_link FROM transaction WHERE transaction_type = '22'");
$result = $query->result();
Maintenant, comment convertir la requête ci-dessus en enregistrements actifs CI?
J'ai essayé:
$this->db->select("SUM(a.transaction_payment_amount)");
$this->db->from('transaction_payment a');
$this->db->where_in('a.transaction_link', "SELECT transaction_link from transaction WHERE transaction_type = '22'");
$query = $this->db->get();
$result = $query->result();
Mais cela ne fonctionne pas.
Si cela est possible, il n'y a aucun avantage. Ce n'est pas plus portable que lorsque vous utilisez la méthode de requête. –
@BrianGottier Eh bien ma requête est juste un exemple, mon code actuel est beaucoup plus long et plus de table et de colonne qu'il devient un peu plus difficile à lire, avec des enregistrements actifs (si elle a la même vitesse), sera plus facile et plus facile lire. – Charas
Si votre requête est beaucoup plus longue et complexe, il semble que vous ayez juste besoin d'utiliser le formatage/indentation pour la rendre plus facile à lire. –