Предыдущая статья описывала основные функции доступа к базе данных при работе с моделью, в этой статье опишем основные функции работы с объектом доступа к данным (DAO) и построителем запросов.
queryAll() осуществляет на выборку всех записей. Выберем все страны из таблицы Country
// подключение к базе данных $connection = \Yii::$app->db; // Составляем SQL запрос $model = $connection->createCommand('Select * From country'); //Осуществляем запрос к базе данных, переменная $model содержит ассоциативный массив с данными $model = $model->queryAll(); // вывод данных if($model){ foreach ($model as $m) echo $m['name'].' '; }
Результатом выборки: Россия Румыния США Германия
queryOne() осуществляет на выборку одной записей. Выберем страну из таблицы Country у которой id=1
// подключение к базе данных $connection = \Yii::$app->db; // Составляем SQL запрос $model = $connection->createCommand('Select * From country Where id=1'); //Осуществляем запрос к базе данных, переменная $model содержит ассоциативный массив с данными $model = $model->queryOne(); // вывод данных if($model) echo $model['name'];
Результатом выборки: Россия
queryColumn() осуществляет на выборку первого столбца. Выведем первый столбец из таблицы Country
// подключение к базе данных $connection = \Yii::$app->db; // Составляем SQL запрос $model = $connection->createCommand('Select * From country'); //Осуществляем запрос к базе данных, переменная $model содержит массив с данными $model = $model->queryColumn(); // вывод данных if($model)
foreach ($model as $m) echo $m;
Результатом выборки: 1 2 3 4
queryScalar() Возвращает скалярное значение. Подсчитаем количество строк в таблицы Country
// подключение к базе данных $connection = \Yii::$app->db; // Составляем SQL запрос $model = $connection->createCommand('Select Count(*) From country'); //Осуществляем запрос к базе данных, переменная $model число строк $model = $model->queryColumn(); // вывод данных echo $model;
Результатом выборки: 4
bindValue() привязывает параметр в условии. Выведем название страны у которой id=1
// подключение к базе данных $connection = \Yii::$app->db; // Составляем SQL запрос $model = $connection->createCommand('Select * From country Where id = :id')->bindValue(':id',1); //Осуществляем запрос к базе данных $model = $model->queryOne(); // вывод данных echo $model['name'];
Результатом выборки: Россия
Перед тем как объявить клас Query подключим его.
use yii\db\Query;
Выведем все страны из таблицы.
// подключаем построитель запросов $model = new Query; $model->select('name')->from('country') $command = $model->createCommand(); $model = $command->queryAll(); // вывод данных if($model){ foreach ($model as $m) echo $m['name'].' '; }
Результатом выборки: Россия Румыния США Германия
Перечислим функции и операторы, которые использует построитель отчетов. Функции аналогичны функциям работы с моделью.
Более подробное описание функций и операторов можно найти здесь