0

このDQLを使用する場合

$getImages = $em->createQuery('SELECT stuff
    FROM MyBundle:MyModelClass
    WHERE model.id NOT IN (:hide)')
->setParameter('hide', join(',', $hide), 'array');

結果の SQL は次の場所にマップされます。

SELECT stuff FROM mymodelclass WHERE model.id NOT IN ('1,2,3');

これは明らかに間違っているはずです

SELECT stuff FROM mymodelclass WHERE model.id NOT IN (1,2,3);

したがって、クエリは正しく実行されます。配列を文字列にエスケープせずにマップするようにdoctrineに指示するにはどうすればよいですか?

4

1 に答える 1

3

説明書を見て

$stmt = $conn->executeQuery('SELECT * FROM articles WHERE id IN (?)', array(array(1, 2, 3, 4, 5, 6)), array(\Doctrine\DBAL\Connection::PARAM_INT_ARRAY) );

于 2012-02-18T11:07:43.123 に答える