2011年1月11日火曜日

メモ:addとaddAND(addOr)の違い

Criteriaでadd指定で条件を指定した場合
同一カラムに指定されていた条件が上書きされる

$c = new Criteria();
$c->add(TablePeer::COLUMN_ALPHA, 'hoge');
$c->add(TablePeer::COLUMN_BETA, 'piyo');
$c->add(TablePeer::COLUMN_BETA, 'foo');

WHERE column_alpha = 'hoge'
AND column_beta = 'foo'

※「column_beta = 'piyo'」の条件が「column_beta = 'foo'」で上書きされる


-------------------------------------------
addAnd(addOr)を使用すると指定されていた条件に対して追加される

$c = new Criteria();
$c->add(TablePeer::COLUMN_ALPHA, 'hoge');
$c->add(TablePeer::COLUMN_BETA, 'piyo');
$c->addAnd(TablePeer::COLUMN_BETA, 'foo');

WHERE column_alpha = 'hoge'
AND column_beta = 'piyo'
AND column_beta = 'foo'

※「column_beta = 'piyo'」の条件に「column_beta = 'foo'」が追加される

0 件のコメント:

コメントを投稿