0

我正在尝试完成类似于以下 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))));

......我有多远?

4

1 回答 1

2

您可以使用 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 开始支持将数组作为参数传递。

于 2012-11-02T17:01:40.180 回答