Laravel 5.1-如何将变量从event::updated传递到event::update


Laravel 5.1 - How to pass a variable from event::updating to event::updated?

我正在尝试创建一个日志特性,它还可以保存对关系的所有更改(多对多)。

到目前为止,我的想法是将具有所有关系的模型存储在static::updateing事件中,作为$original。然后在static::updated事件中获取$original变量,比较差异并相应地记录。

做这件事的好方法是什么。如果有更好的方法可以做到这一点,我很高兴听到它。

您应该定义一个public/protected变量,并在updating方法中为该变量赋值,然后在updated方法中访问它。

例如:

public var $storeTemp = null;
public function boot()
{
    User::updating(function ($user) {
         $this->storeTemp = $user->testVal; //or assign object
    });
    User::updated(function ($user) {
       print_r($this->storeTemp);//print or access value
    });
}