Конструции SELECT
findByPk
$id=25;$result= Apartment::model()->findByPk($id);echo$result->title_ru;
findAllByPk
$ids=array(25,26,27);$result= Apartment::model()->findAllByPk($ids); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);echo'</pre>';}
findByAttributes
Плохой пример применения
$result= Apartment::model()->findByAttributes(array('title_ru'=>'Однокомнатная квартира на Новом Арбате')); echo$result->title_ru;echo'<br>'.$result->id;
Хороший
$result= User::model()->findByAttributes(array('name'=>'admin@mirocow.com'));
Дело в том что findByAttributes равносильно =, а не LIKE
findAllByAttributes
$result= Apartment::model()->findAllByAttributes(array('title_ru'=>array('Однокомнатная квартира на Новом Арбате','дом на ул. Трубецкая'))); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);print_r('<br>'.$item->id);echo'</pre>';}
$result= Apartment::model()->findAllByAttributes(array('id'=>array(19,20),'title_ru'=>array('Однокомнатная квартира на Новом Арбате','дом на ул. Трубецкая'))); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);print_r('<br>'.$item->id);echo'</pre>';}
find
$numMax=19;$result= Apartment::model()->find('id < :numMax',array(':numMax'=>$numMax)); echo$result->title_ru;echo'<br>'.$result->id;
findAll
$numMax=20;$result= Apartment::model()->findAll('id < :numMax',array(':numMax'=>$numMax)); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);print_r('<br>'.$item->id);echo'</pre>';}
$numMax=20;$result= Apartment::model()->findAll("id < {$numMax}"); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);print_r('<br>'.$item->id);echo'</pre>';}
$result= Apartment::model()->findAll(array('order'=>'title_ru ASC'));
findBySql
$result= Apartment::model()->findBySql('SELECT id FROM {{apartment}} WHERE square = 60 AND title_ru = "квартира на ул. Авиамоторная"');echo$result->id;
findAllBySql
$result= Apartment::model()->findAllBySql('SELECT id, title_ru FROM {{apartment}} WHERE square <= 50 AND square >= 40'); foreach($resultas$item){echo'<pre>';print_r($item->title_ru);print_r('<br>'.$item->id);echo'</pre>';}
countBySql
$result= Apartment::model()->countBySql('SELECT COUNT(id) FROM {{apartment}} WHERE square <= 50 AND square >= 40');echo$result;
count
$result= Apartment::model()->count('id < 25');echo$result;
или
$result= Apartment::model()->count('id < :num',array(':num'=>25));echo$result;
exists
$result= Apartment::model()->exists('id < :num',array(':num'=>25));echovar_dump($result);
или
$result= Apartment::model()->exists('id < :num',array(':num'=>1));echovar_dump($result);
UpdateByPK
$ids=array(18,19,20);$result= Apartment::model()->updateByPk($ids,array('title_ru'=>'Новый заголовок'));
updateAll
$result= Apartment::model()->updateAll(array('title_ru'=>'Новый заголовок'),'title_ru = :title',array(':title'=>'квартира на ул. Авиамоторная'));
deleteByPk
$result= Apartment::model()->deleteByPk(18);
deleteAll
$result= Apartment::model()->deleteAll('title_ru = :title',array(':title'=>'дом на ул. Трубецкая'));