Laravel 5.2多个orwhere子句

时间:2017-10-07 12:29:21

标签: php laravel

我有四个文本框我想获取用户信息,以防发现四个输入中的任何一个。我尝试下面的代码对我不起作用请指导。

StudentService

也赞成为什么这对我不起作用

先谢谢

2 个答案:

答案 0 :(得分:0)

当前的sql结果

select * from `user` where (`email` = ?) or (`phone_number` = ? or `name` = ? or `address` = ?) LIMIT 1

你需要

select * from `user` where (`email` = ?) and (`phone_number` = ? or `name` = ? or `address` = ?) LIMIT 1

试试这个

$userDetail = User::where(function ($query) use ($request) {
        $query->where('email',  $request->email);
    })->orwhere(function ($query) use ($request){
        $query->orwhere('phone_number',  $request->phone)
              ->orwhere('name',  $request->name)
              ->orwhere('address', $request->address);
    })->first();

答案 1 :(得分:0)

您是否尝试使用大写“W”->orWhere?在documentation或语句中有大写“W”