В настоящее время я использую 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 в люменах.Любой может помочь в этом.