我知道在使用IFNULL的sql中我可以替换null值。但是我需要使用laravel eloquent并且也不要在laravel eloquent中使用原始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
答案 0 :(得分:0)
您可以在DB::raw()
方法中使用select()
:
$dataList = SpeechModel::select(
'*',
DB::raw('IFNULL(speech_subtitle.speech_subtitle_speech_id, "N/A") as subtitle')
)
->leftJoin(/*...*/)
->get();
此方法允许您在SELECT
中使用原始语句时使用查询构建器。你可以为每一列做到这一点。
但是,老实说,如果这仅仅是为null
交换N/A
,您可能会考虑在前端进行此操作。