1. Первым делом настраиваем подключение к Базе Данных
открываем фаил
/config/db.php
прописываем подключение

2. Создаем модель для нашей таблицы (название в единственном числе).

пример

Код:

<?php

namespace app\models;

use yii\db\ActiveRecord;

class Post extends ActiveRecord
{
}

в этом случае модель автоматически подключается к таблице Post

Если ваша таблица называется по другому,
то нужно указать это в моделе.

пример

Код:

<?php

namespace app\models;

use yii\db\ActiveRecord;

class Post extends ActiveRecord
{
    public static function tableName()
    {
        return 'posts';
    }
}

Далее работаем с контроллером.

Вывод всех данных.
$posts = Post::find()->all(); // SELECT * FROM `posts`

Вывод данных с сортировкой
$posts = Post::find()->orderBy([‘id’ => SORT_ASC])->all();
$posts = Post::find()->orderBy([‘id’ => SORT_DESC])->all();

По умолчанию дынные выводятся в объекте
Что-бы получать данные в массиве (рекомендуется для большого массива данных)
$posts = Post::find()->asArray()->all();

Получение данных с параметром
$posts = Post::find()->asArray()->where(‘parent=1’)->all();
$posts = Post::find()->asArray()->where([‘parent’ => 1])->all();

с оператором
$posts = Post::find()->asArray()->where([‘like’, ‘title’, ‘pp’])->all();
$posts = Post::find()->asArray()->where([‘<=’, ‘id’, ‘5’])->all();

с ограничением
$posts = Post::find()->asArray()->where(‘parent=1’)->limit(1)->all();
$posts = Post::find()->asArray()->where(‘parent=1’)->limit(1)->one();

со смещением
$posts = Post::find()->asArray()->where(‘parent=1’)->offset(3)->all();
$posts = Post::find()->asArray()->where(‘parent=1’)->offset(3)->one();

количество результатов
$posts = Post::find()->asArray()->where(‘parent=1’)->count();

выполнение запроса
$query = «SELECT * FROM posts WHERE title LIKE :search»;
$posts = Post::findBySql($query, [‘:search’ => ‘%pp%’])->all();

Сделать ключем массива значение столбца (например Id) и вывод нужных столбцов
$posts = Post::find()->select([‘title’, ‘id’])->indexBy(‘id’)->column();

Удаление данных из Базы Данных в Yii2

Удаления одной отдельной строки данных

Код:

$customer = Customer::findOne(123);
$customer->delete();

Удаления всех или нескольких строк данных одновременно.

Код:

Customer::deleteAll(['parent_id' => 2]);