SymfonyのCriteriaについて
業務でWebアプリを開発しているんだけど、
SymfonyのCriteriaを使ったクエリがたまに忘れるので、備忘録として残しておく。
*適宜、追記していきます
例えば、Bookテーブルがあって列にはID,NAME,PRICE,INPUT_DATEとする。
主キーをもとにデータを取得したい場合
<? $c = new Criteria(); echo BOOKPeer::retrieveByPk(1); ?>
件数を取得したい場合
<? $c = new Criteria(); echo BOOKPeer::doCount($c); ?>
whereで条件検索したい場合
<? $c = new Criteria(); //LIKEで検索 $c->add(BOOKPeer::NAME, "%山田%", Criteria::LIKE); //INで検索 $c->add(BOOKPeer::ID, array(1,3,5), Criteria::IN); //NOT INで検索 $c->add(BOOKPeer::ID, array(6,7,8), Criteria::NOT_IN); //日付範囲から指定の日付を検索 $c->add(BOOKPeer::INPUT_DATE, '2001/01/01', Criteria::GREATER_EQUAL); $c->addAnd(BOOKPeer::INPUT_DATE, '2001/12/31', Criteria::LESS_EQUAL); //値段範囲から指定の値段を検索 $c->add(BOOKPeer::PRICE, '600', Criteria::GREATER_EQUAL); $c->addAnd(BOOKPeer::PRICE, '750', Criteria::LESS_EQUAL); ?>
取得行数を制限する(テーブルBookのレコードから上から3件だけ取得する
<? $c->setLimit(0); $c->setOffset(3); ?>
並び替え(値段が高いものから並び替え)
<? $c->addDescendingOrderByColumn('PRICE'); ?>
並び替え(値段が安いものから並び替え)
<? $c->addAscendingOrderByColumn('PRICE'); ?>