在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();

在laravel中使用mysql 的if方法,提示语法错误的问题

在navacat中确是可以执行成功的,
在laravel中使用mysql 的if方法,提示语法错误的问题

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

少了一个右括号
file

3年前 评论
sept-me (楼主) 3年前
讨论数量: 1

少了一个右括号
file

3年前 评论
sept-me (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!