Вызов неопределенного метода stdClass :: getModified () - PullRequest
0 голосов
/ 03 февраля 2019

Laravel v5.7.24
Laravel Auditing v8.0.4
PHP версия 7.3.1

У меня есть специфическая проблема, связанная с пакетом Laravel Auditing .Хотя я установил модель и все, как в документации, шаблон лезвия показывает мне ошибку Call to undefined method stdClass::getModified().Большое вам спасибо.

Вот моя модель:

namespace App;

use Laravel\Scout\Searchable;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;

class Post extends Model implements Auditable
{
    use Searchable, \OwenIt\Auditing\Auditable;

    protected $fillable = [...];
    protected $auditExclude = [...];

    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

Вид лезвия:

<ul>
     @forelse ($audits as $audit)
                <li>
                    @foreach ($audit->getModified() as $attribute => $modified)
                            <ul>
                                <li>@lang('article.'.$audit->event.'.modified.'.$attribute, $modified)</li>
                            </ul>
                    @endforeach
                </li>
            @empty
        <p>@lang('article.unavailable_audits')</p>
    @endforelse
</ul>

1 Ответ

0 голосов
/ 04 февраля 2019

Учитывая, что сообщение об ошибке (Call to undefined method stdClass::getModified()) относится к stdClass, а не Audit, я сделаю дикое предположение и предположу, что вы делаете что-то вроде DB::table('audits')->where('auditable_type', Post::class)->get(), чтобы получить ревизии, которые возвращаютрезультаты в виде POPO , а не Audit экземпляров.

Попробуйте вместо этого: Audit::where('auditable_type', Post::class)->get()

...