简体   繁体   English

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

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

I'm very new to Laravel, how can I make this query in Laravel using Eloquent model:我对 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;

I don't wish to use raw queries, is there any way?我不想使用原始查询,有什么办法吗? I still appreciate raw query suggestions if there's any.如果有任何原始查询建议,我仍然很感激。

I think you still need some raw queries.我认为您仍然需要一些原始查询。

$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: I think you leftjoin subjectdtls b but it seems you don't need it. PS:我想你leftjoin subjectdtls b但似乎你不需要它。

And you are using not only one database, if you want to use Eloquent\Builder , you need to do something like this: How to use multiple databases in Laravel而且你使用的不仅仅是一个数据库,如果你想使用Eloquent\Builder ,你需要做这样的事情: How to use multiple databases in Laravel

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

相关问题 Laravel/Eloquent:如何在 Larvael `->whereNotExists` 子查询中引用外部选择的列? - Laravel/Eloquent: How do I refer to a column of the outer select in a Larvael `->whereNotExists` sub-query? Laravel 6, MYSQL - How to Left Join a Sub Query with GroupBY using Laravel Querybuilder or Model Eloquent? - Laravel 6, MYSQL - How to Left Join a Sub Query with GroupBY using Laravel Querybuilder or Model Eloquent? MySQL查询从子查询的联接中选择5条记录 - MySQL Query to select 5 records from a join in a sub-query 雄辩的子查询是否该行是最新的 - Eloquent sub-query for if the row is the latest one 如何在cakePHP中编写具有正确联接的子查询? - How could I write sub-query with right join in cakePHP? 根据交叉引用表为用户选择所有角色。 PDO MySQL子查询或JOIN - Select all the roles for a user based on a cross reference table. PDO MySQL sub-query or JOIN 如何将左连接横向 SQL 查询转换为 Laravel Eloquent 查询? - How to convert left join lateral SQL query to Laravel Eloquent query? 如何使用foreach在表中使用左连接显示选择查询的记录? - How to display records of select query with left join in table using foreach? 如何在Laravel 5中执行包含雄辩性关系子查询的联接 - How to perform a join containing a sub query on an Eloquent Relationship in laravel 5 如何在symfony学说中编写子查询 - how to write sub-query in symfony doctrine
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM