17-07-2019

Active Record Модель Yii2

 

Для того чтобы создать,получить,обновить,удалить данные с базы данных в yii2 нужно создать файл с именем класса например Category.php в папке models.

<?php
  namespace app\models;
  use yii\db\ActiveRecord;

class Category extends ActiveRecord
{

   /**
   * @return string название таблицы, сопоставленной с этим ActiveRecord-классом.
   */
 public static function tableName()
 {
   return 'category';
 }

 public function rules()
 {
   return [[['category'], 'required']];
 }
}

В функции rules() задаем правила валидации. После того как создали нужный нам файл, подключаем его в контроллере с помощью use. Ниже приведенный код используем в контроллере где подключили нашу модель Category.

Подключаем модель Category в контроллере

use app\models\Category;

Создать запись в таблице category.

$category = new Category();
$category->name = 'Car';
$category->save();

С помощью этого кода мы создаем новую запись (insert) в таблице category.
Также можно массово присвоить (если название полей совпадают с массивом ключей)

$category = new Category();
$category->attributes = $values;
$category->save();

Получить запись с таблицы category.

Получаем одну запись по id записи из таблицы category

$category = Category::findOne($id);

Получаем несколько записей из таблицы category

$category = Category::findAll([100, 101, 123, 124]);

В квадратных скобках можно указать условия выборки из базы данных и не важно используете findOne или findAll.

Обновить запись в таблицы category.

Обновляем запись по id из таблицы category

$category = Category::findOne($id);
$category->name = 'Car';
$category->save();

Удаление записи из таблицы category.

Удаляем запись по id из таблицы category

$category = Category::findOne($id);
$category->delete();

Возможно вас это заинтересует?