在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');