特定の時だけSQLの条件を追加するならSet::mergeを使う
開発環境:CakePHP2.5.1
SQLの条件を追加したい時に使うのがarray_mergeなどですが、CakePHPではSet::mergeという便利な関数が用意されています。
Set::mergeの使い方
<?php
$params = array(
'conditions' => array(
'flg' => 1,
),
);
if (特定の条件) {
$paramsplus = array(
'conditions' => array(
'parent_id' => null,
),
);
$params = Set::merge($params, $paramsplus);
}
$posts = $this->Post->find('all', $params);
便利なSetクラス
merge以外にも便利な関数が揃っているSetクラス。
どんなものがあるかはこちらをご覧ください。
