特定の時だけ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クラス。
どんなものがあるかはこちらをご覧ください。