Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:为什么Laravel访问器不工作getIsVerifiedAttribute()?_Php_Laravel - Fatal编程技术网

Php Laravel:为什么Laravel访问器不工作getIsVerifiedAttribute()?

Php 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($

我需要检查我的用户的电子邮件。因此,我在我的用户模型中添加了一个名为“is_verified”的新属性,该属性返回一个布尔值,以确定用户是否检查了电子邮件

我使用PHPUnit 7.5.15和Laravel5.8在PHP7.2.5上运行

模型:User.php


测试不起作用的原因是您的
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();