Laravel在保存完全完成后观察?

时间:2015-08-10 17:17:21

标签: laravel-4

在Laravel 4.2中,您可以在模型中绑定观察:

public static function boot() {
    parent::boot();
    self::observe(new BookingObserver);
}

class BookingObserver {

    public function saved($model) {
        dump($model);
        die("i hath save");
    }
}

在您的模型上调用->save()时会触发此事。

问题是我的模型相当复杂。在我调用save之后,我也保存了一些相关的模型。我需要访问观察者中的那些人,但事件太早了。

有没有办法延迟调用观察者方法,直到我的控制器操作完成?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该在控制器中要发生事情的位置触发custom event

// in your controller
Event::fire('something.happened', array($model));

// in your app's bootstrap, perhaps
Event::listen('something.happened', function($model) {
    // do your thing here
});