Yii2: Работа с базой данных
В данной статье мы рассмотрим подключение базы данных к yii2 и основные операции над ней.
Подключение базы данных к сайту на Yii2
Для подключения базы данных к нашему сайту на yii2 нужно отредактировать файл «config/db.php»
1 2 3 4 5 6 7 | return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2basic', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ]; |
В качестве параметра dbname указать имя подключаемой базы данных, username — пользователь базы данных и password — пароль от базы данных.
Запрос к базе данных
Для обращения к таблице базы данных требуется создать соответствующую модель, в которой будет указано имя таблицы. Создадим модель «models/City.php»
1 2 3 4 5 6 7 8 9 10 11 | namespace app\models; use yii\db\ActiveRecord; class City extends ActiveRecord { public static function tableName() { return 'city'; //имя таблицы } } |
Теперь в соответствующем контроллере необходимо подключить нашу модель и сделать запрос на выборку данных из таблицы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | namespace app\controllers; use Yii; use yii\filters\AccessControl; use yii\web\Controller; use yii\filters\VerbFilter; use app\models\City; class MyController extends Controller { public function actionIndex() { $this->layout = 'default_template'; //имя шаблона для данного контроллера // Возвращает массив всех занчений таблицы $mass = City::find()->asArray()->all(); //возвращает массив состоящий из одной строки таблицы $mass2 = City::find()->asArray()->one(); //возвращает отсортированный объект по полю таблицы name $mass3 = City::find()->orderBy('name')->all(); // Вызывает соответствующий вид "main.php" и передаёт в него наши массив return $this->render('main', compact('mass ', 'mass2', 'mass3')); // Производит редирект на другой контроллер (например в случае обищки или исключения) //return Yii::$app->response->redirect(['site/index']); } } |
14 мая 2017 /
5754 Views /
8 комментариев