gpt4 book ai didi

php - 如何使用 eloquent 选择带有左连接的子查询?

转载 作者:行者123 更新时间:2023-11-29 15:28:20 25 4
gpt4 key购买 nike

我对 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;

我不想使用原始查询,有什么办法吗?如果有的话,我仍然很欣赏原始查询建议。

最佳答案

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

$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

关于php - 如何使用 eloquent 选择带有左连接的子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58914849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com