0
Laravel认证附加条件,该文档显示,我可以给认证查询添加更多的条件,像这样:也与其他模型中使用Laravel的5.2认证
指定附加条件
如果你愿意,你除了用户的电子邮件和密码以外,还可以向认证查询添加额外的条件。例如,我们可以验证用户标记为“主动”:
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
// The user is active, not suspended, and exists.
}
在我的情况,我想设置其住在另一许多一对多洋洋洒洒型号的条件:
class Account extends Model
{
public function users() {
return $this->belongsToMany('App\User', 'account_users');
}
}
class User extends Model implements AuthenticatableContract
{
public function accounts() {
return $this->belongsToMany('App\Account', 'account_users');
}
}
有它虽然中间件通过一个帐户id
和访问它是这样的:
$request->account
如何实现东北当它涉及一个相关模型时,它是否具有条件?我只是不知道如何使用ORM关系。任何帮助指向正确的方向非常感谢!
你可以简单地实现在同这种逻辑/检查,如果在您使用验证::尝试声明()。您可以检查相关模型(假设它是这种情况下的帐户)$ request-> user() - > accounts() - > wherePivot('account_id',$ request-> account); –
@CanCelik你的意思是作为'if'中的单独条件吗?不是'attempt()'的'credentials'参数的一部分吗? – greener
没错。 try()方法有第三个选项,您可以在其中设置false,以便在其他条件不符合时不会记录用户。 –