php - 原始查询适用于 phpmyadmin 但不适用于 laravel

标签 php mysql sql laravel

我在 phpmyadmin 中编写了一个原始查询,它为我提供了准确的答案。但是当我尝试在 Laravel 中执行相同的查询时,我得到了错误:

原始查询:

SELECT customers.customer_name, customers.voucher_number ,
         services.name, customers.status,sum(carts.amount) FROM  services JOIN customers
        on services.id = customers.service_id JOIN carts on customers.id = carts.customer_id          
        GROUP BY customers.id

在 Laravel 中:

$status_report = DB::select("SELECT customers.customer_name, customers.voucher_number ,
         services.name, customers.status,sum(carts.amount) FROM  services JOIN customers
        on services.id = customers.service_id JOIN carts on customers.id = carts.customer_id         
        GROUP BY customers.id");

可能的错误是什么?

我收到以下错误:

SQLSTATE[42000]: Syntax error or access violation: 1055 'maitree.customers.customer_name' isn't in GROUP BY (SQL: SELECT customers.customer_name, customers.voucher_number ,
services.name, customers.status,sum(carts.amount) FROM services JOIN customers
on services.id = customers.service_id JOIN carts on customers.id = carts.customer_id 
GROUP BY services.id)

最佳答案

可能是 SQL_MODE , 请更改连接 "config/database.php":

strict => false

希望对您有所帮助。

关于php - 原始查询适用于 phpmyadmin 但不适用于 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44574788/

相关文章:

php - html中的ajax,从php中获取结果

jquery - 使用ajax和jquery的下拉列表

c# - 通用数据库连接 C#

PHP 数组的最大长度

php - Laravel 尝试播种未要求的列

php - fseek() : stream does not support seeking

mysql - MySql 中的错误#1109

mysql - 将数据从 csv 文件导入 MySQL 表时如何避免创建空格

sql - 在 JOIN 条件下使用 RTRIM

mysql - MySQL 中的行平均值 - 如何从计数中排除 NULL 行