Создание динамических таблиц в Yii2?

В Yii2 для создания динамических таблиц можно использовать миграции и модели ActiveRecord.

Миграции - это способ создания и изменения структуры базы данных. Каждая миграция представляет собой набор инструкций, которые описывают, как создать новую таблицу или изменить существующую.

Чтобы создать новую миграцию, необходимо выполнить следующую команду в консоли Yii2:

php yii migrate/create create_table_name

Где "create_table_name" - это имя миграции, которое вы можете выбрать самостоятельно. После выполнения этой команды будет создан новый файл миграции в директории "migrations" вашего приложения.

Откройте этот файл и добавьте код для создания таблицы с нужными полями. Например, так:

use yiidbMigration;

class m210302_100000_create_table_name extends Migration
{
    public function up()
    {
        $this->createTable('table_name', [
            'id' => $this->primaryKey(),
            'name' => $this->string(255)->notNull(),
            'email' => $this->string(255)->unique(),
            'created_at' => $this->timestamp()->defaultExpression('CURRENT_TIMESTAMP'),
            'updated_at' => $this->timestamp()->defaultExpression('CURRENT_TIMESTAMP')->append('ON UPDATE CURRENT_TIMESTAMP'),
        ]);
    }

    public function down()
    {
        $this->dropTable('table_name');
    }
}

В этом примере создается таблица "table_name" с полями "id", "name", "email", "created_at" и "updated_at". "id" - это первичный ключ, "name" - строковое поле (максимальная длина 255 символов), "email" - строковое поле (максимальная длина 255 символов, уникальное значение), "created_at" и "updated_at" - поля типа timestamp с текущими значениями по умолчанию.

После того, как вы определите структуру таблицы в миграции, запустите команду:

php yii migrate

Она применит все созданные миграции, и таблица будет успешно создана в базе данных.

После создания таблицы можно создать модель ActiveRecord, которая представляет собой класс, связанный с таблицей. Модель предоставляет удобный интерфейс для работы с данными в таблице.

Чтобы создать модель ActiveRecord в Yii2, выполните команду:

php yii gii/model --tableName=table_name

Где "table_name" - это имя таблицы, для которой нужно создать модель. Эта команда создаст файл модели в директории "models" вашего приложения.

Откройте этот файл и убедитесь, что в нем определены все необходимые поля и связи с другими таблицами (если есть).

Теперь вы можете использовать созданную модель для выполнения различных операций с данными в таблице. Например, для создания новой записи в таблице:

$model = new TableName();
$model->name = 'John';
$model->email = '[email protected]';
$model->save();

Для получения всех записей из таблицы:

$models = TableName::find()->all();

И так далее.

Вот и все! Теперь вы знаете, как создавать динамические таблицы и работать с данными в Yii2 с помощью миграций и моделей ActiveRecord.