Lumen API выбирает данные по группам по совокупности - PullRequest
0 голосов
/ 28 февраля 2019

В настоящее время я использую Lumen 5.7 для своего внутреннего API. Мне нужно выбрать несколько полей из нескольких таблиц с помощью левого соединения.У меня есть следующий запрос (простой запрос MySQL)

SELECT issue_id,issue_receipt_id, date_format(issue_datetime, '%d-%m-%Y') as issue_datetime,
issue_item,sum(issue_wt) as issue_wt, round(avg(issue_pure),3) as issue_pure,
sum(issue_fine) as issue_fine, sum(issue_cash) as issue_cash,
sum(receipt_wt) as receipt_wt, sum(receipt_fine) as receipt_fine,
pure_name as issue_item_name 
FROM item_issues 
LEFT JOIN receipt_items ON receipt_id = issue_receipt_id 
LEFT JOIN purities ON pure_id = issue_item
group by issue_receipt_id;

И я попытался в люмене, как, например,

$receipts = DB::table('item_issues')            
            ->leftJoin('receipt_items', 'receipt_items.receipt_id', '=', 'item_issues.issue_receipt_id')
            ->leftJoin('purities', 'purities.pure_id', '=', 'item_issues.issue_item')
            ->select('issue_id', 'issue_receipt_id', DB::raw("date_format(issue_datetime, '%d-%m-%Y') as issue_datetime"), 'issue_item', 'pure_name', DB::raw('sum(issue_wt) as issue_wt'), 
            DB::raw('round(avg(issue_pure),3) as issue_pure'),
            DB::raw('sum(issue_fine) as issue_fine'),
            DB::raw('sum(issue_cash) as issue_cash'),
            DB::raw('sum(receipt_wt) as receipt_wt'),
            DB::raw('sum(receipt_fine) as receipt_fine'))
            ->groupBy('item_issues.issue_receipt_id', 'item_issues.issue_item')->get();

, но он выдает ошибку, такую ​​как синтаксическая ошибка или нарушение доступа: 1055 выражение# 1 списка SELECT отсутствует в предложении GROUP BY и содержит неагрегированный столбец 'item_issues.issue_id', который функционально не зависит от столбцов в предложении GROUP BY;Но я должен выбрать поля выше, как это сделать без проблем.И я пытался отключить строгий режим, но я не знаю, где отключить эту опцию, в .env или в каком-то другом файле.Я не смог найти database.config в люменах.Любой может помочь в этом.

...