Я хочу, чтобы количество чатов между пользователями и группой по их идентификатору чата. Но запрос не дает количество чатов. Его пробел. Я видел аналогичные проблемы в Stack Overflow (Laravel Eloquent groupBy() AND count, Laravel get count of results based on groupBy) и использовал те запросы, которые отмечены как правильные, но не получающие желаемого результата.Count with GroupBy не работает в Laravel
Я использую следующий запрос:
$user_info = DB::table('chat_messages')
->select(DB::raw('count(*) as total'))
->where('viewed','=', '0')
->groupBy('chat_id','type')
->get();
Моя структура таблицы как:
{
"_id": ObjectId("571f549b1c8cb6972c8b4567"),
"message": "Testing Chat Functionality",
"type": "singlechat",
"date": "2016-04-26 11:44:27",
"from": "56b07a5a083f119a0b8b4569",
"to": "56b07a5a083f119a0b8b4569",
"chat_id": "56f65fc51c8cb6ca1a8b4567",
"status": "1",
"updated_at": ISODate("2016-04-26T11:44:27.624Z"),
"created_at": ISODate("2016-04-26T11:44:27.624Z"),
"viewed": "0"
}
И результат приходит так:
Array
(
[0] => Array
(
[_id] => Array
(
[chat_id] => 56f65fc51c8cb6ca1a8b4567
[type] => singlechat
)
[chat_id] => 56f65fc51c8cb6ca1a8b4567
[type] => singlechat
[count(*) as total] =>
)
[1] => Array
(
[_id] => Array
(
[chat_id] => 56fa3f5f1c8cb667138b4567
[type] => groupchat
)
[chat_id] => 56fa3f5f1c8cb667138b4567
[type] => groupchat
[count(*) as total] =>
)
)
Нет его не работает. Он дает тот же результат, что и выше, с небольшими изменениями. Я даю [count (chat_messages_ *) как total] => – Mukesh