PHP逆引き大全 516の極意

データベースの極意 - Tips417 複雑な複合条件を生成する

登録タグ
PHP
Icon comment count 0
Icon stock count 0

6-4Propelの利用 基本編Tips417 複雑な複合条件を生成する

Level2

PointModelCriteria::combine()で複数の条件句を結合する

複雑な複合条件をし生成するには、ModelCriteria::condition()メソッドで条件句に識別名をつけ、ModelCriteria::combine()メソッドで条件句同士を結合します。

例えば、titleまたはsubtitleカラムに文字列「IT」を含むレコードを抽出するには以下のように記述します。

$books = BookQuery::create()
  ->condition('cond1', 'Book.Title LIKE ?', '%IT%') 
  ->condition('cond2', 'Book.Subtitle LIKE ?', '%IT%') 
  ->combine(array('cond1', 'cond2'), 'or', 'cond12') 
  ->where(array('cond12'))
  ->find();

cond1、cond2、cond1or2のそれぞれは、条件の識別名です。combine()メソッドで、cond1とcond2を「OR」で結合し、新たにcond12という条件を作り、where()メソッドに指定しています。

出典情報

Medium

PHP逆引き大全 516の極意

  • 著者: 大家 正登, 茂木 健一, 鮫島 康浩, 谷中 志織

コメント

    コメントはありません