我怎么能在laravel 5.4自定义查询在laravel 5
select items.id,items.name,total,region from items LEFT OUTER JOIN
(select purchases.region_id as region , sum(purchases_detail.quantity)
as total,purchases_detail.item_id
from purchases_detail
left join purchases on(purchases.id=purchases_detail.purchase_id)
GROUP BY purchases_detail.item_id) pd on (pd.item_id=items.id)
运行此类型的查询时,我想这在DB ::选择( '') 它给了我一个错误:
SQLSTATE [42000]:语法错误或访问冲突:1055'amsdb.purchases.region_id'不在GROUP BY中(SQL:select items.id,items.name,total,来自项目的区域LEFT OUTER JOIN (select purchases.region_id as region,sum(purchases_detail.quantity)as total,purchases_detail.item_id f ROM purchases_detail 左连接上(pd.item_id = items.id))
上(purchases.id = purchases_detail.purchase_id) GROUP BY purchases_detail.item_id)PD购买,但它工作得很好,当我运行它的phpmyadmin
你应该在Laravel中关闭strict,并且所有东西都会按照它的样子工作。进入'config/database.php'并在mysql配置数组中,将'strict => true'改为'strict => false'; – Maraboc
@Maraboc不好的建议,他应该修复他的查询。 –
@TimBiegeleisen Ithink即使他修复了查询,他应该更新严格模式! – Maraboc