Php Laravel:为什么Laravel访问器不工作getIsVerifiedAttribute()?
我需要检查我的用户的电子邮件。因此,我在我的用户模型中添加了一个名为“is_verified”的新属性,该属性返回一个布尔值,以确定用户是否检查了电子邮件 我使用PHPUnit 7.5.15和Laravel5.8在PHP7.2.5上运行 模型:User.phpPhp Laravel:为什么Laravel访问器不工作getIsVerifiedAttribute()?,php,laravel,Php,Laravel,我需要检查我的用户的电子邮件。因此,我在我的用户模型中添加了一个名为“is_verified”的新属性,该属性返回一个布尔值,以确定用户是否检查了电子邮件 我使用PHPUnit 7.5.15和Laravel5.8在PHP7.2.5上运行 模型:User.php 测试不起作用的原因是您的getIsVerifiedAttribute访问器中有一个输入错误电子邮件应在处验证 public function getIsVerifiedAttribute() { return !is_null($
测试不起作用的原因是您的getIsVerifiedAttribute
访问器中有一个输入错误<在
处验证的代码>电子邮件应在处验证
public function getIsVerifiedAttribute()
{
return !is_null($this->email_verified_at);
}
用户
工厂会在处为您设置email\u verified\u字段,因此我建议您将创建用户的测试中的代码更改为:
$user = factory(User::class)->create([
'email_verified_at' => null
]);
下一位仅供参考,但Laravel中已经包含了一些方法,用于检查用户是否已验证,并将email\u verified\u设置为值:
$user->hasVerifiedEmail();
及
非常感谢,我完全没有看到这个问题。从我开始做了两个小时后,我就明白了。@Hichxm很高兴我能帮上忙!
$user->markEmailAsVerified();