Да, в Yii2 можно создать динамическую модель для таблиц. Для этого можно использовать класс \yii\db\ActiveRecord, который позволяет создавать модели для работы с таблицами базы данных.
Для создания динамических таблиц для справочной информации в Yii2, можно воспользоваться методами класса \yii\db\Schema, который позволяет получать информацию о структуре таблицы в базе данных. Например, можно получить названия полей таблицы с помощью метода getTableSchema() и установить правила валидации для этих полей на основе их типов данных.
Вот пример кода, демонстрирующий создание динамической модели и установку правил валидации на основе схемы таблицы:
```php
use yii\db\ActiveRecord;
use yii\db\Schema;
class DynamicModel extends ActiveRecord
{
public static function tableName()
{
return 'dynamic_table';
}
public static function getDynamicModel()
{
$model = new DynamicModel();
$schema = \Yii::$app->db->schema->getTableSchema(self::tableName());
foreach ($schema->columns as $column) {
$model->defineAttribute($column->name);
$model->addRule($column->name, 'required');
// Другие правила валидации можно добавить здесь, в зависимости от типа данных
}
return $model;
}
}
```
Теперь можно использовать созданную динамическую модель для взаимодействия с таблицей и установить правила валидации на основе схемы таблицы. Этот подход позволяет динамически создавать модели и правила валидации на основе структуры таблицы в базе данных.