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

时间:2014-07-17 07:43:29

标签: php events laravel

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

我已经尝试为中间表创建一个模型,但这不会触发 - 因此我假设当使用父模型的detach事件删除条目时,不会触及模型。

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

这是我尝试过的:

在MyintermediateModel.php中:

public function delete()
{
// do something
}

这不会触发

global.php中的

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

这不会触发

那么 - 当一个数据透视表条目被删除时,是否会有一个我可以附加的事件(或类似内容)?

谢谢

1 个答案:

答案 0 :(得分:2)

您可以随时自行开火。

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
});