Laravel审计在transitionTo()上的Morphmap上出现AuditableTransitionException错误

时间:2017-12-09 14:32:50

标签: laravel polymorphic-associations audit laravel-auditing

我能够成功记录对课程的更改,并返回已更改的内容(不包括多对多内容)。但是,我无法使用内置的新transitionTo()方法恢复任何更改。

我在所有类上都收到以下错误:

Expected Auditable type App\XYZ, got XYZ instead

我将所有可变形类(我用于跟踪审核的所有类)都正确地附加在AppServiceProvider中的morphmap中,如下所示:

\Illuminate\Database\Eloquent\Relations\Relation::morphMap([
        'Employee' => \App\Employee::class,
];

所有类都适用于所有其他Laravel morphTo方法。

可审计代码看起来像是在Auditable类的第467行中绊倒错误:

if (!$this instanceof $audit->auditable_type) {}

它似乎没有在地图上查找任何变形类。或者,我当然可能完全错过了一些东西!

有关如何使用审核方法使其工作的任何帮助 - 是否有人使用标准变形类? (它当然会通过循环旧字段并保存对象来手动恢复类。)

使用Laravel 5.5和Laravel-Auditing的最新版本(5.0)。

1 个答案:

答案 0 :(得分:0)

向开发者发送了一条说明 - 这实际上是一个错误。需要供应商代码才能包含morphMapped对象。

位于Laravel Auditing的开发人员在一小时内回复,并在几小时后进行了修复。我可以确认这现在正如预期的那样运作。出色的支持。