Yiiで
select * from hoge where status=1;
のようなSQLを発行するときは、
$datas=$model->findAll('status=:status',array(':status'=>1));
のようにする。
select * from hoge where status!=1;
なら、
$datas=$model->findAll('status!=:status',array(':status'=>1));
とう感じ。findAllの第1引数にCDbCriteriaを使うなら
select * from hoge where status=1;
の場合は、
$criteria=new CDbCriteria; $criteria->compare('status',1); $datas=$model->findAll(criteria);
という感じ。
select * from hoge where status!=1;
なら、
$criteria=new CDbCriteria; $criteria->condition='status!=:status'; $criteria->params=array(':status'=>1); $datas=$model->findAll(criteria);
という感じになる。
なお、取得するカラムを指定したいとか、ソートをかけたいという場合は、CDbCriteriaを使う必要がある。例えば、
select id,name from hoge where status!=1 order by id limit 5;
なら
$criteria=new CDbCriteria; $criteria->condition='status!=:status'; $criteria->params=array(':status'=>1); $criteria->select = array('id','name'); $criteria->order='id'; $criteria->limit=5; $datas=$model->findAll(criteria);
となる。
※参考
findAll
CDbCriteria