CSocNetMessages::GetMessagesUsers

Рейтинг: 7.6346  
На голосовании
Предложил Пользователь 61402 07.01.2013 19:48:42

CSocNetMessages::GetMessagesUsers

Можно ли вы сделать в методе CSocNetMessages::GetMessagesUsers два варианта возвращаемых данных:
1. чтобы можно было получить любые встроенные и пользовательские поля пользователей (например, как в CUser::GetList) из ОДНОГО запроса, который у вас там сейчас есть. Вы всё равно join'итесь к таблице пользователей, так почему бы не сделать возможность без дополнительных запросов сразу выниматься всё, что нужно. А если указано, что нужны UF-поля, то добавляться join к соответствующим таблицам и сразу вынимать нужные поля. При большом количестве пользователей, думаю, это увеличит производительность.
2. чтобы возвращались только сгруппированные по пользователям данные по последним сообщениям. То есть join'а для этого вообще не надо. Это повысит производительность при большом количестве пользователей и сообщений, если мне не нужны данные пользователей, а только о последних сообщениях.

Ещё было бы здорово, если бы возвращались ID последних сообщений (и, ещё лучше, top N последних сообщений для каждого пользователя).

А также нужна возможность сортировать по своим правилам, а не только "UNREAD DESC, MAX_DATE DESC".