Laravel审计异常:无法实例化抽象类App \ User

问题描述 投票:0回答:1

Laravel Auditing实现返回我:

无法实例化抽象类App \ User

我尝试了几件事,但我不知道如何继续发生此错误。

这是我要审核的模型Pregunta.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use OwenIt\Auditing\Contracts\Auditable;

class Pregunta extends Model implements Auditable
{
    use SoftDeletes;
    /**
     * Implements Auditable package
     */
    use \OwenIt\Auditing\Auditable;
    ...
    ...

这里是我的User.php类

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use OwenIt\Auditing\Contracts\UserResolver;
use Illuminate\Support\Facades\Auth;
use OwenIt\Auditing\Contracts\Auditable;

class User extends Authenticatable implements Auditable, UserResolver
{
    use Notifiable;
    use SoftDeletes;
    use \OwenIt\Auditing\Auditable;

    ...
    ...

    protected $auditInclude = [
        'name',
    ];

    ...
    ...

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

最后是我的审核配置

<?php

return [

    'enabled' => env('AUDITING_ENABLED', true),

    /*
    |--------------------------------------------------------------------------
    | Audit Implementation
    |--------------------------------------------------------------------------
    |
    | Define which Audit model implementation should be used.
    |
    */

    'implementation' => OwenIt\Auditing\Models\Audit::class,

    /*
    |--------------------------------------------------------------------------
    | User Morph prefix & Guards
    |--------------------------------------------------------------------------
    |
    | Define the morph prefix and authentication guards for the User resolver.
    |
    */

    'user' => [
        'morph_prefix' => 'user',
        'guards'       => [
            'web',
            'api',
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Audit Resolvers
    |--------------------------------------------------------------------------
    |
    | Define the User, IP Address, User Agent and URL resolver implementations.
    |
    */
    'resolver' => [
        'user'       => OwenIt\Auditing\Resolvers\UserResolver::class,
        'ip_address' => OwenIt\Auditing\Resolvers\IpAddressResolver::class,
        'user_agent' => OwenIt\Auditing\Resolvers\UserAgentResolver::class,
        'url'        => OwenIt\Auditing\Resolvers\UrlResolver::class,
    ],
    ...
    ...

我还没有找到类似的问题可以帮助我解决这个问题,而且我真的不知道如何继续。

有人可以帮我吗?谢谢。

laravel laravel-auditing
1个回答
0
投票

[从abstract class继承时,在接口sOwenIt\Auditing\Models\Audit::class声明中标记为抽象的所有方法必须由User类定义。

© www.soinside.com 2019 - 2024. All rights reserved.