加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Raw Query适用于phpmyadmin但不适用于laravel

发布时间:2020-12-14 19:37:51 所属栏目:大数据 来源:网络整理
导读:我在phpmyadmin中编写了一个原始查询,它为我提供了确切的答案.但是当我尝试在Laravel中执行时,同样的查询…我得到了错误: 原始查询: SELECT customers.customer_name,customers.voucher_number,services.name,customers.status,sum(carts.amount) FROM ser
我在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,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,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)

解决方法

您需要使用DB :: raw来包装原始SQL.

$status_report = DB::select(DB::raw("SELECT customers.customer_name,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"));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读