Yii2 Active Record. Часть 3

Yii2 Active Record

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой и следующих статьях мы немного больше внимания уделим классу Yii2 Active Record, который предлагает объектный интерфейс для данных БД. Мы познакомимся с наиболее популярным набором методов класса, как то: where, update, save, count, delete и т.п.

Итак, в прошлой статье мы с вами разобрали работу с методом select, который позволит выбрать только нужные вам поля, а также с методами andWhere и orWhere, благодаря которым мы можем уточнить фильтр выборки, добавляя в запрос операторы AND и OR. В этой статье мы познакомимся еще с несколькими методами конструктора запросов.

Начнем с метода orderBy. Думаю, вы уже догадались о том, что этот метод позволяет упорядочить выборку, сортируя ее по указанным полям. Например, давайте упорядочим выбираемые нами категории по названию:

$cats = Category::find()->select(['id', 'name'])->where(['like', 'name', 's'])->andWhere('id<4')->orderBy('name ASC')->all();

Этот код преобразуется в следующий запрос:

SELECT `id`, `name` FROM `category` WHERE (`name` LIKE '%s%') AND (id<4) ORDER BY `name`

Следующая пара полезных методов: limit и offset. Эти методы всегда принимают участие в постраничной навигации и отвечают они за получение определенной части данных. Метод limit указывает на число записей, которое необходимо запросить, а метод offset позволяет указать число, с которого необходимо начать выборку.

Давайте попробуем выбрать первые три записи (ниже необходимый код и SQL-запрос, который будет выполнен):

$cats = Category::find()->select(['id', 'name'])->limit(3)->all();
SELECT `id`, `name` FROM `category` LIMIT 3;

Yii2 Active Record

В результате мы получили первые три записи таблицы. Теперь попробуем добавить отступ (offset), сдвинув начало выборки на одну запись:

$cats = Category::find()->select(['id', 'name'])->limit(3)->offset(1)->all();
SELECT `id`, `name` FROM `category` LIMIT 3 OFFSET 1

Теперь мы получили немного другой результат:

Yii2 Active Record

Как видим, ничего сложного. В следующей статье мы продолжим работу с методами получения данных. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк YII2. Быстрая разработка с современным фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Научиться

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree