在模型上使用`boot()`与RevisionableTrait冲突

时间:2014-10-27 16:55:02

标签: php laravel laravel-4 traits revisionable

我在laravel应用中使用Revisionable包来记录对模型的修改。

此外,我还实现了一个观察者类来监听特定的模型事件(更新,删除,创建等)并执行操作(例如清除缓存等)。使用boot()方法在模型中实例化此观察者,如下所示:

class Client {
    use \Venturecraft\Revisionable\RevisionableTrait;
    public static function boot()
    {
        parent::boot();
        Client::observe(new App\Observers\ClientObserver);
    }
}

我发现当我在模型中定义boot()方法时,可修改特征会停止工作并且不会记录更改 - 可能是因为它也使用了被boot方法覆盖的方法。一个在模型中。

我如何修复此问题以允许侦听模型事件以及使用可修改软件包?

1 个答案:

答案 0 :(得分:0)

此链接帮助了我

https://github.com/VentureCraft/revisionable/issues/175

我在laravel 5.1中使用过,希望它对你有用

use RevisionableTrait, UuidTrait {
        UuidTrait::boot insteadof RevisionableTrait;
    }