Laravel 5.1 - 如何将变量从event :: updates传递给event :: updated?

时间:2016-04-08 11:47:48

标签: php laravel laravel-5.1

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

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

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

1 个答案:

答案 0 :(得分:1)

您应该定义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
    });

}