Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы====== Конструции SELECT ====== ===== findByPk ===== <code php> $id = 25; $result = Apartment::model()->findByPk($id); echo $result->title_ru; </code> ===== findAllByPk ===== <code php> $ids = array(25, 26, 27); $result = Apartment::model()->findAllByPk($ids); foreach ($result as $item) { echo '<pre>'; print_r($item->title_ru); echo '</pre>'; } </code> ===== findByAttributes ===== Плохой пример применения <code php> $result = Apartment::model()->findByAttributes(array('title_ru' => 'Однокомнатная квартира на Новом Арбате')); echo $result->title_ru; echo '<br>'.$result->id; </code> Хороший <code php> $result = User::model()->findByAttributes(array('name' => 'admin@mirocow.com')); </code> Дело в том что findByAttributes равносильно =, а не LIKE ===== findAllByAttributes ===== <code php> $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>'; } </code> <code php> $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>'; } </code> ===== find ===== <code php> $numMax = 19; $result = Apartment::model()->find('id < :numMax', array(':numMax' => $numMax)); echo $result->title_ru; echo '<br>'.$result->id; </code> ===== findAll ===== <code php> $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>'; } </code> <code php> $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>'; } </code> <code php> $result = Apartment::model()->findAll(array('order' => 'title_ru ASC')); </code> ===== findBySql ===== <code php> $result = Apartment::model()->findBySql('SELECT id FROM {{apartment}} WHERE square = 60 AND title_ru = "квартира на ул. Авиамоторная"'); echo $result->id; </code> ===== findAllBySql ===== <code php> $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>'; } </code> ===== countBySql ===== <code php> $result = Apartment::model()->countBySql('SELECT COUNT(id) FROM {{apartment}} WHERE square <= 50 AND square >= 40'); echo $result; </code> ===== count ===== <code php> $result = Apartment::model()->count('id < 25'); echo $result; </code> или <code php> $result = Apartment::model()->count('id < :num', array(':num' => 25)); echo $result; </code> ===== exists ===== <code php> $result = Apartment::model()->exists('id < :num', array(':num' => 25)); echo var_dump($result); </code> или <code php> $result = Apartment::model()->exists('id < :num', array(':num' => 1)); echo var_dump($result); </code> ===== UpdateByPK ===== <code php> $ids = array(18, 19, 20); $result = Apartment::model()->updateByPk($ids, array('title_ru' => 'Новый заголовок')); </code> ===== updateAll ===== <code php> $result = Apartment::model()->updateAll(array('title_ru' => 'Новый заголовок'), 'title_ru = :title', array(':title' => 'квартира на ул. Авиамоторная')); </code> ===== deleteByPk ===== <code php> $result = Apartment::model()->deleteByPk(18); </code> ===== deleteAll ===== <code php> $result = Apartment::model()->deleteAll('title_ru = :title', array(':title' => 'дом на ул. Трубецкая')); </code>СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal