我想构建一个查询,用户需要他/她的正确用户名
或电子邮件
和密码
才能登录。
这是我的 Laravel 查询代码
$query = Adminuser::where('password',$password);
$query->orWhere('email',$username);
$query->where('username',$username);
通过使用它,我得到了像这样的原始 SQL 查询
select * from `adminuser` where `password` = $password and `email` = $username or `username` = $username
但我需要原始的 SQL 查询来获得正确的结果
select * from `adminuser` where `password` = $password and (`email` = $username or `username` = $username)
所以我的问题是如何在我的 Laravel 查询中使用括号?
有人帮忙吗?
最佳答案
您将需要使用分组。更多请阅读:Parameter Grouping (Laravel 4.2)。
您的查询应该是这样的(未测试):
编辑:
Model::where(function ($query) use ($password) {
$query->where('password',$password);
})->where(function ($query) use (email, $password){
$query->where('email',$email)
->orWhere('username',$username);
});
关于php - 如何在 Laravel SQL 原始查询中使用括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48161433/