В 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.