【发布时间】:2019-11-03 00:36:34
【问题描述】:
我是 laravel 的新手 实际上我有一个身份验证表,它根据用户类型链接到另一个表。我想要来自相应表的用户信息,所以我现在使用原始查询我想将其转换为查询生成器,请帮助
$data = DB::select("SELECT srr.id,srr.created_at,srr.fromid,srr.toid,srr.from_usertype,au.firstname_admin,au.lastname_admin,cd.name as to_compayname,COALESCE(unionSub1.firstname,NULL) as from_firstname, unionSub1.lastname as from_lastname
from service_request_reviews as srr
left join (
(select authid, firstname, lastname from userdetails)
union (select authid, firstname, lastname from yachtdetail)
union (select authid, firstname, lastname from talentdetails)
union (select authid, name as firstname, COALESCE(NULL,NULL) as lastname from companydetails)
) unionSub1 on unionSub1.authid = srr.fromid
left join auths as au on au.id = srr.fromid
LEFT JOIN companydetails as cd ON cd.authid = srr.toid WHERE srr.isdeleted = '0' AND srr.parent_id1 = '0' " );
我已经尝试过这个并且它在没有联合的情况下工作正常。我不知道如何在左连接中使用多个联合。
$data = DB::table('service_request_reviews as srr')
->select('srr.id','srr.created_at','srr.fromid','srr.toid','srr.from_usertype','au.firstname_admin','au.lastname_admin','cd.name as to_compayname')
->leftjoin('auths as au', 'au.id', '=' ,'srr.fromid')
->leftjoin('companydetails as cd', 'cd.authid', '=', 'srr.toid')
->where('srr.isdeleted', '0')
->where('srr.parent_id', '0');
【问题讨论】:
标签: laravel postgresql query-builder