Laravel自定义验证未创建雄辩的对象

Laravel自定义验证未创建雄辩的对象,laravel,validation,Laravel,Validation,我已经编写了一个自定义验证函数 function ($attribute, $value, $fail) { $request = Invitation::where('invitation_token', md5($value)); if ($request === null) { $fail('Invitation Code is invalid.'); } elseif ($request->is_active === false)

我已经编写了一个自定义验证函数

function ($attribute, $value, $fail) {
    $request = Invitation::where('invitation_token', md5($value));

    if ($request === null) {
        $fail('Invitation Code is invalid.');    
    } elseif ($request->is_active === false) {
        $fail('This Invitation Code has been expired.');
    }
}
它给出错误:
属性[is_active]在雄辩的生成器实例上不存在。

为什么它不获取
邀请
对象?

您刚刚创建了查询,但没有运行它

在这种情况下,您只能使用
get()
方法拾取第一项

$request = Invitation::where('invitation_token', md5($value))->first();

使用此方法将解决您的问题。:)

那么,如果查询没有执行,它不应该返回null吗?如果您运行查询并且没有找到该项,它将只返回null,如果没有,它将返回一个Eloquent Builder的实例。