Как в Yii2 создать модель с динамическими атрибутами (EAV)?

Всем привет!
Столкнулся с такой проблемкой, не могу понять как правильно реализовать модели в Yii 2 для вот такой схемы БД:
1499f123be1846d3b9c5f299198af8ed.png

По сути это всем знакомая EAV - есть объект, у объекта есть свойства задающиеся динамически.
Реализовать эту задачу через чистый SQL или QueryBuilder особых проблем не составит. Но я хочу чтобы можно было удобно получать и изменять эти динамические атрибуты. Например:
...
echo $model->description;       // Получаем свойство "Описание"
$model->name = 'Object #1';    // Задаем новое Имя для объекта
$model->save();
...

Ну и в идеале хотелось бы еще и поддержку валидации.
Если уже кто-то сталкивался с подобной задачей на Yii2, то подскажите как это максимально грамотно реализовать.
Заранее благодарен за любые дельные советы
  • Вопрос задан
  • 7839 просмотров
Решения вопроса 1
@Mirocow
https://github.com/Mirocow/yii2-eav

Это улучшенная и рабочая реализация модуля russianlagman/yii2-eav

  • Исправлен ряд ошибок
  • Добавлены новые типы полей
  • Добавлен интерфейс администрирования
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mylistryx
В модели реализовать магические методы __get(), __set(), __isset() которые завернуть на функции работающие со связанными объектами. Не проверял в Yii2, но в Kohana в свое время делал именно так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы