首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无效的用户解析器、可调用或UserResolver FQCN预期错误[Laravel审计4.1]

无效的用户解析器、可调用或UserResolver FQCN预期错误[Laravel审计4.1]
EN

Stack Overflow用户
提问于 2017-11-24 18:36:22
回答 1查看 1.2K关注 0票数 2

我正在使用Laravel5.4和Laravel审计4.1。我想记录价格变化的变体模型,我安装了审计4.1包。看我的代码,

config/audit.php

代码语言:javascript
复制
'implementation' => OwenIt\Auditing\Models\Audit::class,

'user' => [
    'primary_key' => 'id',
    'foreign_key' => 'variant_id',
    'model'       => App\Variant::class,
    'resolver'    => App\Variant::class,
],

app/Models/Variant.php

代码语言:javascript
复制
use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;

class Variant extends BaseModel implements AuditableContract{

   use Auditable;
 --------Code here----------------
}

使用此代码时,当我试图将数据插入数据库时,会出现此错误,

代码语言:javascript
复制
 UnexpectedValueException
 Invalid User resolver, callable or UserResolver FQCN expected

如何修复此错误并在audits表上记录更改?

EN

回答 1

Stack Overflow用户

发布于 2018-02-22 22:06:20

这是因为您在config/audit.php中配置的类(config/audit.php)处理用户解析,没有实现OwenIt\Auditing\Contracts\UserResolver契约。

因此,如果您真的想使用App\Variant::class作为您的用户解析器类,它应该是这样的:

代码语言:javascript
复制
<?php
namespace App;

use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;

class Variant extends BaseModel implements AuditableContract, UserResolver
{
    use Auditable;

    public static function resolveId()
    {
        return Auth::check() ? Auth::user()->getAuthIdentifier() : null;
    }

    // More code here
}

如果有疑问,请查看一般配置文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47478525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档