首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel子查询

Laravel子查询
EN

Stack Overflow用户
提问于 2021-04-07 03:24:51
回答 2查看 39关注 0票数 0

我想在查询中使用子查询作为select。但是这个代码不能工作。

代码语言:javascript
复制
$listed_waiting_approach = DB::table('be_medical_insurance_for_foreigners')
    ->join('be_product','be_product.id','=','be_medical_insurance_for_foreigners.product_id')
    ->join('be_status','be_status.id','=','be_medical_insurance_for_foreigners.payment_status_id')
    ->where('be_medical_insurance_for_foreigners.is_approved','=',false)
    ->where('be_medical_insurance_for_foreigners.is_active','=',true)
    ->where('be_medical_insurance_for_foreigners.payment_status_id','=',$payment_status_id1)
    ->where('be_medical_insurance_for_foreigners.order_status_id','=',$order_status_id1)
    ->select('be_medical_insurance_for_foreigners.*','be_product.name as productname','be_medical_insurance_for_foreigners.is_approved as approve','be_status.code as statuscode','**(SELECT code FROM be_status WHERE id=$payment_status_id1 ) as paymentname**')
    ->get();
EN

回答 2

Stack Overflow用户

发布于 2021-04-07 03:32:37

您可以将DB::raw与DB::select组合使用。这有点像

代码语言:javascript
复制
DB::select( DB::raw( " ... ") )
票数 0
EN

Stack Overflow用户

发布于 2021-04-07 09:01:49

您也可以使用selectRaw

代码语言:javascript
复制
DB::table('be_medical_insurance_for_foreigners')
    ->selectRaw("be_medical_insurance_for_foreigners.*, be_product.name as productname, be_medical_insurance_for_foreigners.is_approved as approve, be_status.code as statuscode, (SELECT code FROM be_status WHERE id={$payment_status_id1}) as paymentname")
    ->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66975246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档