Какой бы подход не пришел в голову он либо не гибкий или затратный
допустим есть таблица А с полями id 1 2 3 поле 3 содержит массив из id B
таблица Б содержит поля 1, 2, 3;
объекты буду писать в json чтобы было понятно
Цель получить объект вида
{"A":{"1a":1,"2a":2,"3a":[{"1b":1,"2b":2 ,"3b":"3"},{"1b":1,"2b":2,"3b":"3"},{&quo t;1b":1,"2b":2,"3b":"3"}]}}
я вижу два решения, но не могу понять какое будет лучше
1 создать один класс модель в которой, есть один метод в котором все и происходит выбираем все из A после по третьему полю делаем выборку используя in и заменяем в поле 3 первой выборки получили нужный объект.
итого один объект не нагруженный контролер, и модель с одним методом которая все сделал как надо, не гибко кроме как этого результата смысла от класса нету...
2 создаем два класса модели, создаем 1 объект который отвечает только за выбору из таблицы A, после контролер создает еще три объекта модели Б в которых производит выборка по таблице Б после в контроллере дополняем полученную А объектами Б.
итого вместо 2 селектов 4, создано 4 объекта модели, по количеству операций усложнение. но зато более гибко или мне только так кажется.
как правильнее поступить?