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()メソッドに指定しています。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録