繁体   English   中英

如何使用 eloquent 在内部进行左连接的 select 子查询?

[英]How to select sub-query with left join inside using eloquent?

我对 Laravel 很陌生,如何使用 Eloquent Z20F35E630DAF494DBFA4C3F688 在 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;

我不想使用原始查询,有什么办法吗? 如果有任何原始查询建议,我仍然很感激。

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

$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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM