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 に答える