在laravel中使用mysql 的if方法,提示语法错误的问题
laravel中查询数据使用mysql的if函数,提示语法错误,请问是什么问题?
$model = ApprovalRecord::query();
$check_type = $request->get('check_type');
if ($check_type == '已通过') {
$model = $model->where('warrant_id',Auth::id());
$model = $model->where('warrant_check',1);
} else if ($check_type == '未通过') {
$model = $model->where('warrant_id',Auth::id());
$model = $model->where('warrant_check',2);
} else {
$model = $model->whereRaw('`warrant_id` IS NULL and if (`data_type` = 1,`control_id1` IS NOT NULL,`control_id1` IS NULL');
}
$res = $model->orderBy('id','desc')->paginate($request->get('limit',30))->toArray();
在navacat中确是可以执行成功的,
推荐文章: