Например, мы получаем массив продуктов для главной страницы из бд в модели, отдаем их в контроллер. Далее, нам нужно к этому массиву добавить какие то данные из эластика, и модифицировать эти данные (какие то переменные удалить, какие-то переименовать, или в этот массив еще чего либо добавить). Где должны происходить эти манипуляции? Например, экшн контроллера сейчас выглядит таким образом:
//
$products = Products::getByCategory($categoryId); // достали из бд
$productsRelations = Products::getRelationsForProducts($products); // достали доп.связи с эластика
//
Далее - вопрос, как правильнее для контроллера (чтобы он оставался тонким) сделать соединение этих данных в одно целое в нужном формате, + для каждого продукта добавить свои переменные исходящие из других параметров?
По идее нужно создать сервис для этих целей, и далее в контроллере грубо говоря что-то такое:
ProductService::appendRelations($products, $productsRelations);
Грубо говоря, обработка данных полученных с модели/эластика - где должна происходить?