Laravel 4在数据透视表条目被删除或分离时监听事件


laravel 4 listen for event when pivot table entry deleted or detached

我试图在删除中间/数据透视表中的条目时执行一些操作。

我已经尝试为中间表创建一个模型,但这没有触发-所以我假设当使用父模型的分离事件来删除条目时不会触及模型。

更新:我想在使用sync()方法时监听删除事件。此时,我不知道哪些记录正在被删除。

这是我尝试过的:

在MyintermediateModel.php

:

public function delete()
{
// do something
}

这不会触发

在global.php

Event::listen('eloquent.deleting: Reservation_resource',     function($reservation_resource) {
//    do something
}

this doesn't fire

所以-是否有一个事件(或类似的东西),我可以附加到,将触发当一个数据透视表条目被删除?

谢谢

你可以自己触发事件。

public function delete()
{
    Event::fire('reservation_resources.deleting', $reservation_resource); // If you want to fire before deleting
    // delete record
    Event::fire('reservation_resources.deleted', $reservation_resource); // If you want to fire after deleting
}

然后监听你触发的事件

Event::listen('reservation_resource.deleted', function($reservation_resource)
{
    //do something
});