繁体   English   中英

使用laravel雄辩地在左联接中将空值替换为N / A

[英]replace null value to N/A in left join using laravel eloquent

我知道在SQL中使用IFNULL可以替换空值。 但是我需要使用laravel口才,也不要在laravel口才中使用原始sql查询。

public function testQuery() {                                                       
    $dataList = SpeechModel::leftJoin('speech_subtitle', 'speech_title.speech_title_id', 'speech_subtitle.speech_subtitle_speech_id')->get();                                     
    return $dataList;                                                                                            
}

输出

speech_title_id=null,speech_subtitle_id=null,speech_subtitle_text=null      

您可以在select()方法中使用DB::raw()

    $dataList = SpeechModel::select(
            '*', 
            DB::raw('IFNULL(speech_subtitle.speech_subtitle_speech_id, "N/A") as subtitle')
    )
    ->leftJoin(/*...*/)
    ->get();

通过此方法,您可以在SELECT使用原始语句的同时使用查询生成器。 您可以为每个列执行此操作。

但是,老实说,如果这仅是将N/A交换为null ,则可以考虑在前端进行。

暂无
暂无

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

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