Laravel получает последнюю модель для каждой модели и общее количество групп.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel получает последнюю модель для каждой модели и общее количество групп.

Сообщение Anonymous »

Я пытаюсь показать количество каждого статуса подписки для моей модели клиента в моем проекте 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»