Laravel исключение аудита: не удается создать экземпляр абстрактного класса App \ User - PullRequest
0 голосов
/ 31 января 2020

Реализация 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;
    ...
    ...

здесь мой пользователь. php class

<?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,
    ],
    ...
    ...

Я не нашел подобных вопросов, которые могли бы помочь мне решить эту проблему, и я действительно не знаю, как продолжить.

Может ли кто-нибудь помочь мне с этим? Спасибо.

Ход выполнения:

Если я удаляю UserResolver из объявления об ошибке объявления класса пользователя, y изменяю определение класса следующим образом:

class User extends Authenticatable implements Auditable
{}

Теперь ошибка меняется на: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...