Doctrine ORMを使用してsymfony 1.4で開発しています。ID を持つ配列を使用して NOT IN where 句を作成できません。これは私のコードです:
$results = Doctrine_Query::create()
->from('Asset a')
->where('a.id NOT IN (?)', implode(',', $ids))
->execute();
生成されるこのクエリの sql は次のとおりです。
WHERE (a.id NOT IN ('1,5,6,7,8,9,10,11,12,13,14,15,17,18,20,24,25,26,29,30,28'))
ご覧のとおり、ID で満たされた配列を文字列のように扱っています。配列の内破なしでも試しましたが、次のエラーが発生します。
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
除外された ID を含む配列 $ids は、単純な数値です。
この句の正しい構文がわかりません。ありがとう