如何使用雄辩的方式选择带有左联接的子查询?

我是Laravel的新手,如何使用Eloquent模型在Laravel中进行此查询:

SELECT
(
  SELECT departments.deptname FROM school.counts
  LEFT JOIN reference.departments
  ON counts.departmentcode = department.departmentcode
  WHERE counts.countid = a.countsid
) AS departmentDesc
FROM school.subjecthdr a
LEFT JOIN school.subjectdtls b
ON a.subjectid = b.subjectid;

我不想使用原始查询,有什么办法吗?我仍然感谢原始查询建议(如果有)。

lijiayanmy 回答:如何使用雄辩的方式选择带有左联接的子查询?

我认为您仍然需要一些原始查询。

$dept_desc = \DB::table('school.counts')
->leftjoin('reference.departments','counts.departmentcode','=','departments.departmentcode')
->whereRaw('counts.countid = a.countsid')
->selectRaw('departments.deptname');


\DB::table('school.subjecthdr AS a')
->leftjoin('subjectdtls AS b','a.subjectid','b.subjectid')
->selectRaw('(' . $dept_desc->toSql() . ') AS departmentDesc')
->get();

PS:我认为您leftjoin subjectdtls b,但看来您不需要它。

如果您要使用Eloquent\Builder,则不仅要使用一个数据库, 您需要执行以下操作: How to use multiple databases in Laravel

本文链接:https://www.f2er.com/3081015.html

大家都在问