Como hacer una consulta con “NOT IN” en criteria
Amigos del blog. Hace unos dias, me enfrente con un dilema para realizar desde criteria, una consulta SQL, utilizando en el campo WHERE la clausula “NOT IN”.
Despues de mucha investigacion, les dejo una forma de hacerlo:
consulta sql:
-
SELECT * FROM my_table_1 WHERE id NOT IN (
-
SELECT id FROM my_table_2
-
);
consulta en criteria:
-
$c = new Criteria;
-
$not_in_query = ‘my_table_1.id NOT IN (
-
SELECT id
-
FROM my_table_2)’;
-
$c->add(MyTable1Peer::ID, $not_in_query, Criteria::CUSTOM);
-
$result = MyTable1Peer::doSelect($c);
El secreto esta en la versatilidad del atributo “CUSTOM” que permite forzar a criteria para lograr la consulta
Categories: Symfony


















Facebook
Twitter
LinkedIn