с каждой записью из user.contacts и при совпадении свойства phone выводить имя и тд. из соответсвующего объекта из contacts.
$lastNewsList .= loadTpl("/last_news/news.html");$lastBuyerList .= loadTpl("/last_buyers/buyer.html",
//тут передаются в шаблон параметры покупателя
[
'buyer' => $buyer,
'name' => $goods_name,
]
); ....
$names = scandir($path);
^
foreach ($names as $name){
^
.... Требуется получить кол-во записей для этого пользователей с status = 1
Требуется получить кол-во записей для конкретного пользователя, где status = 1
Требуется получить кол-во записей для каждого пользователя, где status = 1
а так же вывести кол-во каждого типа, причем выбирать только из тех у которых status = 3
...
where s.productCategoryId = :id
or s.accessoryCategoryId = :id...
where (s.productCategoryId is null or s.productCategoryId = :id)
and (s.accessoryCategoryId is null or s.accessoryCategoryId = :id)...
where (s.productCategoryId is not null or s.productCategoryId = :id)
or (s.accessoryCategoryId is not null or s.accessoryCategoryId = :id)
Для каждого пользователя-собеседника вы хотите дозапрашивать у бэкенда некоторые дополнительные данные, в частности, список контактов собеседников.
Тут зависит от того, насколько перегружен объектами текущий просматравиемый отчет и насколько востребованными будут дополнительные данные.
Если какая та часть данных отображается возле ника собеседника постоянно, например, основной контактный телефон или основной email, то такие данные, должны запрашиваться вместе со списком собеседников.
А если пользователь, например, наводит мышкой на собеседника и хочет увидеть дополнительные свойства контакта, то в такой момент можно делать еще один запрос на бэкенд (дай мне все номера телефонов, почт вон того чувака с user_id таким-то). Результат этого запроса можно кэшировать на фронтенде, и если повторно запросили эту инфу, то отдавать из кэша.
Если мы не хотим, чтобы при наведении мыши происходили задержки, то мы должны загрузить доп. инфу сразу для всего списка контактов. Фраза "для всего списка контактов" тут тоже может иметь оттенки нюансов. Список контактов всего-всего чата (в котором over 9000 сообщений), или только видимой части отчета в пределах 100... 500 сообщений, а может еще в режиме скользящего окна (+100 сообщений вверх, -100 сообщений вниз).
Все вопросы подгрузки доп. инфы нужно решать отталкиваясь от того, какие ограничения у вас имеются, и что вы хотите избежать в процессе работы приложения.