查询Eloquent ORM时的情况

时间:2017-10-27 08:39:40

标签: php mysql eloquent

我可以在这里添加CASE WHEN吗?如果有可能,怎么样?

        // Search Student       
        $students = User::has('userStudentAttendance')->with(['userStudentAttendance' => function($query) use ($details,$search_from, $search_to, $daterange){
        $query->selectRaw('*');
        $query->where('status', $details);
        $query->where(function($query) use ($search_from, $search_to, $daterange){
            $query->whereBetween(DB::raw('Date(created_at)'), [$search_from, $search_to]);
        });
        $query->groupby('user_id')->groupby(DB::raw('Date(created_at)'));
    }])
    ->leftjoin('sys_user_student', 'sys_user_student.user_id', '=', 'sys_user.user_id')
    ->leftjoin('sys_mf_section', 'sys_mf_section.section_id', '=', 'sys_user_student.section_id')
    ->leftjoin('sys_mf_grade', 'sys_mf_grade.grade_id', '=', 'sys_mf_section.grade_id')     
    ->where('user_type_id', '4')
    ->where('sys_mf_section.section_id', $request->getParam('section_id'))
    ->where('sys_mf_grade.grade_id', $request->getParam('grade_id'))    
    ->orderBy('sys_user.last_name') 
    ->get();

我试图为CASE WHEN条件添加此代码:

'CASE WHEN sys_user.user_id = gen_access_control_log.user_id THEN gen_access_control_log.created_at ELSE "A" END as tapped_time'

有可能吗?我坚持这个

0 个答案:

没有答案