Skip to content

Instantly share code, notes, and snippets.

@Narven
Forked from jamband/sample.php
Last active December 16, 2015 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Narven/5417087 to your computer and use it in GitHub Desktop.
Save Narven/5417087 to your computer and use it in GitHub Desktop.
CDbCriteria Examples
<?php
/* SELECT * FROM `hoge` `t`
---------------------------------------------------*/
$c1 = new CDbCriteria();
$m1 = Hoge::model()->findAll($c1);
/* SELECT * FROM `hoge` `t`
----------------------------------------------------*/
$c2 = new CDbCriteria();
$c2->addSearchCondition('t.fuga', null); // null, false, ''などは無視されるようです
$m2 = Hoge::model()->findAll($c2);
/* SELECT * FROM `hoge` `t` WHERE t.fuga LIKE :ycp0. Bound with :ycp0='%a%'
---------------------------------------------------*/
$c3 = new CDbCriteria();
$c3->addSearchCondition('t.fuga', 'a');
$m3 = Hoge::model()->findAll($c3);
/* SELECT * FROM `hoge` `t` WHERE t.fuga LIKE :ycp1. Bound with :ycp1='a%'
---------------------------------------------------*/
$c4 = new CDbCriteria();
$c4->addSearchCondition('t.fuga', 'a%', false);
$m4 = Hoge::model()->findAll($c4);
/* SELECT * FROM `hoge` `t` WHERE (t.fuga LIKE :ycp2) AND (t.piyo LIKE :ycp3). Bound with :ycp2='%a%', :ycp3='%d%'
---------------------------------------------------*/
$c5 = new CDbCriteria();
$c5->addSearchCondition('t.fuga', 'a');
$c5->addSearchCondition('t.piyo', 'd');
$m5 = Hoge::model()->findAll($c5);
/* SELECT * FROM `hoge` `t` WHERE (t.fuga LIKE :ycp4) OR (t.piyo LIKE :ycp5). Bound with :ycp4='%a%', :ycp5='%d%'
---------------------------------------------------*/
$c6 = new CDbCriteria();
$c6->addSearchCondition('t.fuga', 'a', true, 'OR');
$c6->addSearchCondition('t.piyo', 'd', true, 'OR');
$m6 = Hoge::model()->findAll($c6);
/* SELECT * FROM `hoge` `t` WHERE (t.fuga LIKE :ycp6) OR (t.piyo LIKE :ycp7). Bound with :ycp6='%a%', :ycp7='%b%'
---------------------------------------------------*/
$c7 = new CDbCriteria();
$c7->compare('t.fuga', 'a', true, 'OR');
$c7->compare('t.piyo', 'b', true, 'OR');
$m7 = Hoge::model()->findAll($c7);
/* SELECT * FROM `hoge` `t` WHERE t.fuga LIKE :fuga. Bound with :fuga='%a%'
---------------------------------------------------*/
$m8 = Hoge::model()->findAll('t.fuga LIKE :fuga', array(':fuga' => '%a%'));
/* SELECT * FROM `hoge` `t` WHERE t.fuga LIKE :fuga. Bound with :fuga='%a%'
---------------------------------------------------*/
$m9 = Hoge::model()->findAll(array(
'condition' => 't.fuga LIKE :fuga',
'params' => array(':fuga' => '%a%'),
));
/* SELECT * FROM `hoge` `t` WHERE t.fuga LIKE :fuga. Bound with :fuga='%a%'
---------------------------------------------------*/
$c10 = new CDbCriteria();
$c10->condition = 't.fuga LIKE :fuga';
$c10->params = array(':fuga' => '%a%');
$m10 = Hoge::model()->findAll($c10);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment