Я обновляю свой проект с PHP 5.4, Laravel 4.2 до PHP 7.4, Laravel 6. Моя база данных: MySql 5.5.60-0 + deb7u1, это не изменилось.
У меня есть запрос, который работает с PHP 5.4, Laravel 4.2, который не работает с PHP 7.4, Laravel 6, и я не могу понять, почему. Ниже мой запрос и моя ошибка.
Ошибка:
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1055 'iddev1.c.formattedName' isn't in GROUP BY
(SQL:
SELECT
`c`.`formattedName`,
`d`.`documentNo`,
`d`.`status`,
`d`.`dateOpen`,
`d`.`dateClosed`,
SUM(t.amountTotal) AS sum_total
FROM `transactions` AS `t`
LEFT JOIN `documents` AS `d` ON `d`.`id` = `t`.`documentId`
LEFT JOIN `contacts` AS `c` ON `c`.`id` = `d`.`contactId`
WHERE `t`.`tenantId` = 15 AND `t`.`dateDeleted` IS NULL
AND `t`.`date` >= '2019-01-01 00:00:00' AND `t`.`date` <= '2019-12-31 00:00:00'
GROUP BY `t`.`documentId`
ORDER BY `c`.`formattedName` ASC, `d`.`documentNo` ASC
)
Почему я получаю эту ошибку с PHP 7? Запрос действителен, я могу успешно выполнить запрос к базе данных в Heidi SQL. Он терпит неудачу, только когда я запускаю его через PHP 7 и Laravel 6.