我正在尝试完成类似于以下SQL的操作,但使用的是Doctrine API。
SELECT * FROM table_name WHERE column_name NOT IN (1, 2, 3);
我在考虑这样的事情:
$entityManager->getRepository($entity)->findBy(array('ID' => array('NOT IN' => array(1, 2, 3))));
......我有多远?
答案 0 :(得分:1)
您可以使用DQL执行此操作:
$result = $entityManager->createQuery("SELECT e FROM $entity e
WHERE e.ID NOT IN (:ids)")
->setParameter('ids', array(1, 2, 3), \Doctrine\DBAL\Connection::PARAM_INT_ARRAY)
->getResult();
自Doctrine 2.1版以来,支持将数组作为参数传递。