Я пытаюсь показать количество каждого статуса подписки для моей модели клиента в моем проекте 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
Кемеровские программисты php общаются здесь
1714562278
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'
}]
Подробнее здесь: [url]https://stackoverflow.com/questions/78413436/laravel-get-latest-model-for-each-model-and-group-count-totals[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия