• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

雄辩越来越语法错误或访问冲突错误

laravel 来源:Mahdi.Pishguy 19次浏览

laravel 5时尝试执行SQL命令其我不明白phpmyadmin任何错误:在laravel雄辩越来越语法错误或访问冲突错误

SELECT shoppings.*, sum(shoppings.ordering_count) 
FROM `shoppings` join products on products.id = shoppings.product_id 
where `shoppings`.`user_ordering_ip` = '127.0.0.1' 

与此查询为:

$userShoppings = \DB::table('shoppings') 
    ->join('products', 'shoppings.product_id', '=', 'products.id') 
    ->select('*', \DB::raw('sum(shoppings.ordering_count)')) 
    ->where('shoppings.user_ordering_ip', "'".request()->ip()."'") 
    ->get(); 

我得到这个错误:

SQLSTATE[42000]: Syntax error or access violation: 1140 Mixing of 
GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is 
illegal if there is no GROUP BY clause 


===========解决方案如下:

与下面的查询尝试,没有在这里request()->ip'报价,我怀疑你是不是在这里呼吁ip()方法,也不使用sum方法这里

$userShoppings = \DB::table('shoppings as s') 
    ->join('products as p', 's.product_id', '=', 'p.id') 
    ->select('p.*','s.*') 
    ->where('s.user_ordering_ip', request()->ip()) 
    ->get(); 

$sum_of_ordering_count = $userShoppings->sum('ordering_count'); 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)