【发布时间】:2020-01-31 13:13:51
【问题描述】:
我是 laravel 新手,是数据库查询所需的新解决方案。 我有以下原始查询:
SELECT SUM(un.uni_duration) AS course_duration FROM xxcourse_components xx
INNER JOIN courses co ON co.cou_id = xx.cco_version
INNER JOIN modules mo ON mo.mod_id = xx.cco_component
INNER JOIN xxmodule_units xu ON xu.modu_module = mo.mod_id
INNER JOIN units un ON un.uni_id = xu.modu_unit
WHERE co.cou_id = "6"
AND un.deleted_at IS NULL;
我尝试转换为 laravel 作为查询生成器:
return DB::table('xxcourse_components as xx')
->select('SUM(un.uni_duration) as course_duration')
->join('courses as co', 'co.cou_id', '=', 'xx.cco_version')
->join('modules as mo', 'mo.mod_id', '=', 'xx.cco_component')
->join('xxmodule_units as xu', 'xu.modu_module', '=', 'mo.mod_id')
->join('units as un', 'un.uni_id', '=', 'xu.modu_unit')
->where('co.cou_id ', '=', $cou_id)
->whereNull('un.deleted_at')
->get();
但是结果让我出错了:
SQLSTATE[42S22]: 未找到列: 1054 未知列 'SUM(un.uni_duration)' in 'field list' (SQL: select
SUM(un.uni_duration)ascourse_durationfromxxcourse_componentsas @987654327 @inner joincoursesascoonco.cou_id=xx.cco_versioninner joinmodulesasmoonmo.xx.cco_component.@98 @ 内连接xxmodule_unitsasxuonxu.modu_module=mo.mod_id内连接unitsasunonun.@9876545349@.@986545349@.@98 @ 其中co.cou_id= 6 和un.deleted_at为空)
有解决错误的线索吗?
【问题讨论】: