Я пытаюсь показать количество каждого статуса подписки для моей модели клиента в моем проекте Laravel. У клиента может быть много записей о статусе подписки, но меня интересуют только самые новые записи каждой из них. мои отношения cientSubscriptionStatusLatest позаботятся об этом. Существует множество статусов.
Меня интересует только возврат соответствующего статуса и счетчик для каждого статуса. Когда я пытаюсь выполнить этот запрос, я постоянно сталкиваюсь с одной и той же ошибкой:
SQLSTATE[42000]: Синтаксическая ошибка или нарушение прав доступа: 1055 Выражение № 1 предложения ORDER BY не входит в предложение GROUP BY и содержит неагрегированный столбец «bume_db_ryan.client_subscription_status.created_at» ' который функционально не зависит от столбцов в предложении GROUP BY; это несовместимо с sql_mode=only_full_group_by (Соединение: mysql, SQL: выберите client_id, status, COUNT(status) AS total_rows из client_subscription_status, где client_subscription_status.client_id в группе (4, 5) по client_id, статус, порядок по созданному_at desc, id desc)
Чего мне не хватает?
$clients = Client::with([
'clientSubscriptionStatusLatest' => function ($query) {
$query->select(
'client_id',
'status',
DB::raw("COUNT(status) AS total_rows")
)->groupBy('client_id', 'status');
}
])->leftJoin('client_subscription_status', 'clients.id', '=', 'client_subscription_status.client_id')
->select('client_subscription_status.status', 'clients.id')
->orderBy('clients.id', 'desc')
->get();
Я хочу получить ответ, идентичный:
[{
'status' => 1,
'total_rows' => 1000,
'created_at' => '2024-01-01 00:00:00'
}, {
'status' => 2,
'total_rows' => 500,
'created_at' => '2024-01-02 00:00:00'
}]
Подробнее здесь: https://stackoverflow.com/questions/784 ... unt-totals
Laravel получает последнюю модель для каждой модели и общее количество групп. ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить общее количество групп, используя Spring Boot JPA с нумерацией страниц?
Anonymous » » в форуме JAVA - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-