2016-11-01 2 views
1

テーブルの特定のフィールドをフィルタリングするだけでなく、このフィールドの値がNULLである各レコードを受け入れます。値がNULLの場合Doctrine 2の 'where in'制約でヌル値を受け入れる

  • 、その結果、他の
  • に追加します:つまり、値が指定された値リストにある場合、その結果、他の
  • に追加します。使用して、このレコード

をスキップNULLレコードは結果セットから除外されます。

$ q-> andWhereIn( 'rec.rec_loc_id'、$ permissions ['locations'] ['ids ']);

私は別の条件orWhere()に 'IS NULL'を追加することを考えましたが、同じクエリ内の他の(条件付き)where-constraintsのために、これは複雑すぎます。

答えて

0

私の独自のソリューション、私はまだ、望ましい結果を達成するためのより良い方法があるはずだと思うけれども:

$q->andWhereIn('IFNULL(rec.rec_loc_id, 0)', array_merge(array(0),$permissions['locations']['ids']));

関連する問題