Doctrine_Collectionを返すメソッドがあります。whereIn()
句は次のとおりです。
public function getByValues($values)
{
if (!is_array($values))
throw new sfException('Wrong parameter type. Excepted array.');
return Doctrine_Query::create()
->from('Anomaly a')
->whereIn('a.value', $values);
}
ただし、$values
が空の配列の場合、このメソッドはAnomalyTableにあるすべての行を返します。Doctrineのドキュメントに記載されており、ここに書かれているように、これは予期しない動作ではありません:Doctrine where in with Doctrine_Query
ただし、が空の配列のDoctrine_Collection
場合、クエリの結果ではなく空を返したいと思います。$values
私がそれをどのように行うことができるかについてのアイデアはありますか?
ありがとう=)
編集:
トリックを行うように、不可能な句を追加し->where('1=0')
ますが、これはDBサーバーへの不要な要求です。誰かがより良いアイデアを持っていますか?