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>
Учитывая, что сообщение об ошибке (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()
Других решений пока нет …