Это старая версия документа!
Конструции 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 ($result as $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 ($result as $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 ($result as $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 ($result as $item) { echo '<pre>'; print_r($item->title_ru); print_r('<br>'.$item->id); echo '</pre>'; }
$numMax = 20; $result = Apartment::model()->findAll("id < {$numMax}"); foreach ($result as $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 ($result as $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)); echo var_dump($result);
или
$result = Apartment::model()->exists('id < :num', array(':num' => 1)); echo var_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' => 'дом на ул. Трубецкая'));