CodeIgniter propose un générateur de requêtes polyvalent qui facilite la création de requêtes SQL complexes en PHP. L'une de ces requêtes est la requête SELECT avec une exclusion de sous-requête. Cette requête vous permet de récupérer des lignes d'une table en fonction d'une condition qui exclut des lignes spécifiques d'une autre table, comme exprimé dans l'instruction SQL suivante :
SELECT * FROM certs WHERE id NOT IN (SELECT id_cer FROM revokace);
Pour répliquer cette requête à l'aide du générateur de requêtes de CodeIgniter, vous pouvez exploitez la méthode Where(). Cette méthode accepte un argument de chaîne qui représente la condition de la requête :
$this->db->select('*') ->from('certs') ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);
Dans ce code, les arguments ,NULL,FALSE de la méthode Where() empêchent CodeIgniter d'échapper à la requête, garantissant ainsi sa bonne exécution.
Vous pouvez également utiliser la bibliothèque de sous-requêtes pour simplifier davantage le processus :
$this->db->select('*') ->from('certs'); $sub = $this->subquery->start_subquery('where_in'); $sub->select('id_cer') ->from('revokace'); $this->subquery->end_subquery('id', FALSE);
En utilisant le générateur de requêtes de CodeIgniter et ses méthodes Where() ou de sous-requête, vous pouvez exécuter sans effort des requêtes SELECT complexes avec exclusions de sous-requêtes dans vos applications PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!