@fens
ты ж программист

Yii2 3 таблицы и 2 ActiveRecord?

Доброго времени суток.

Есть 3 таблицы и 2 сущности, одна из таблиц содержит общие свойства, другие 2 содержат подробности каждой сущности.

Вопрос как инстанцировать конкретный класс сущности не стоит, тут можно использовать шаблон single table, а вот как инстанцировать конкретный класс с подробностями без дополнительной связи.

"Теперь перефразирую вопрос правильно как написать свой велосипед с квадратными колёсами"

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

Скрин псевдо схемы БД:
e1c3d1c1d4fb49be914076e4848125dc.png

Вот приблизительно так будет выглядеть схема БД только полей вроде fieldN будет больше какие то поля будут пересекаться какие то нет.

связи:
entities - entity_type1 один к одному
entities - entity_type2 один к одному

поле type в entities как условие выбора конкретной таблицы с подробностями, а соответственно инстанцирование конкретного типа активной записи.

Это похоже на как single table только там одна таблица и множество типов объектов, а тут и типов множество и множество таблиц каждая таблица описывает конкретный тип, но каждый является наследником общего типа.
  • Вопрос задан
  • 527 просмотров
Пригласить эксперта
Ответы на вопрос 2
tkutru
@tkutru
A programming cat.
Насколько понял из вопроса, у вас связь многие-ко-многим.
Если так, viaTable в помощь
www.yiiframework.com/doc-2.0/yii-db-activequery.ht...
Ответ написан
Если БД с поддержкой "представлений", думаю можно воспользоваться ими. А так советую только с дополнительной связью. Не понимаю, чем она вам не нравится.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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