В Yii2 запросы к базе данных выполняются с использованием Query Builder или ActiveRecord. Рассмотрим оба подхода.
Query Builder
Query Builder предоставляет удобный и гибкий способ создания запросов к базе данных без написания SQL-кода вручную.
Простейший запрос к базе данных можно выполнить следующим образом:
use yiidbQuery; $query = new Query; $rows = $query->select(['id', 'name']) ->from('user') ->where(['status' => 1]) ->all();
Этот код создает экземпляр класса Query и выполняет следующие действия:
- Выбирает поля id
и name
из таблицы user
.
- Ограничивает выборку только теми записями, у которых значение поля status
равно 1
.
- Полный результат запроса сохраняется в переменную $rows
.
В результате выполнения этого кода, в переменной $rows
будет лежать массив с результатами запроса.
ActiveRecord
ActiveRecord - это шаблон проектирования, который предоставляет более удобный способ взаимодействия с базой данных, чем Query Builder. В Yii2 для каждой таблицы в базе данных создается соответствующий класс ActiveRecord, который обеспечивает доступ к данным и методы для работы с ними.
Пример выполнения запроса с использованием ActiveRecord:
use appmodelsUser; $users = User::find() ->select(['id', 'name']) ->where(['status' => 1]) ->all();
В этом примере мы использовали модель User
, которая соответствует таблице user
в базе данных. Метод find()
возвращает экземпляр класса ActiveQuery
, с помощью которого можно создавать запросы. Затем мы указываем, какие поля нам нужно выбрать (метод select()
) и добавляем условие (метод where()
).
Также, с помощью методов ActiveRecord есть возможность создания более сложных запросов, использовать группировку, сортировку, объединение таблиц и т. д.
В заключение, запросы к базе данных в Yii2 можно выполнять с использованием Query Builder или ActiveRecord, в зависимости от ваших потребностей и предпочтений. Оба подхода обладают гибкостью и мощными возможностями для работы с данными.