У меня такая структура: один профиль может участвовать в нескольких исследованиях, и для каждого исследования есть поле statute
, которое является внешним ключом к study_statute
. В HTML в каждой строке мне нужно показать информацию для профиля: profile.name, profile.study.field, profile.study.statute. Я сделал это, используя
$profileRepository->findAll()
но он генерирует много запросов, и я хочу оптимизировать. На данный момент есть профили выборки запросов, для каждого профиля запрашиваются исследования, а для каждого исследования запрашивается название устава. Итак, если есть 2 профиля, и каждый профиль посещает 2 исследования, у меня есть
1 (список) +1 (список исследований для профиля №1) +2 (названия исследований для каждого из вышеуказанных исследований) +1 (список исследований для профиля №2) +2 (названия исследований для каждого из вышеуказанных исследований) запросов.
Как это оптимизировать?
На простом PHP я бы сделал: извлек большую таблицу для всех профилей, объединенных исследованиями и именами исследований, и разобрал ее на многомерные массивы, например. $profile[1]['studies'][1]['name']
.