我正在使用Laravel5.4和Laravel审计4.1。我想记录价格变化的变体模型,我安装了审计4.1包。看我的代码,
config/audit.php
'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
use OwenIt\Auditing\Auditable;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;
class Variant extends BaseModel implements AuditableContract{
use Auditable;
--------Code here----------------
}使用此代码时,当我试图将数据插入数据库时,会出现此错误,
UnexpectedValueException
Invalid User resolver, callable or UserResolver FQCN expected如何修复此错误并在audits表上记录更改?
发布于 2018-02-22 22:06:20
这是因为您在config/audit.php中配置的类(config/audit.php)处理用户解析,没有实现OwenIt\Auditing\Contracts\UserResolver契约。
因此,如果您真的想使用App\Variant::class作为您的用户解析器类,它应该是这样的:
<?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
}如果有疑问,请查看一般配置文档。
https://stackoverflow.com/questions/47478525
复制相似问题