php – 如何在Laravel中调用attach或detach时获取`pivot table`
发布时间:2020-12-14 19:43:29 所属栏目:大数据 来源:网络整理
导读:在Laravel 4中,如何在调用attach或detach时获取数据透视表模型以触发保存/保存的模型事件? 看起来下面的数据透视表’TeamUser’实际上并不需要附加/分离方法来工作,所以我猜想我从不会调用代表数据透视表的模型.因此事件永远不会被触发. 问另一种方式: 当
在Laravel 4中,如何在调用attach或detach时获取数据透视表模型以触发保存/保存的模型事件?
看起来下面的数据透视表’TeamUser’实际上并不需要附加/分离方法来工作,所以我猜想我从不会调用代表数据透视表的模型.因此事件永远不会被触发. 问另一种方式: 用户 class User extends Eloquent { // Relationship public function teams() { return $this->belongsToMany('Team'); } } 球队 class Team extends Eloquent { // Relationship public function users() { return $this->belongsToMany('User'); } } 团队用户 – TeamUser表/数据透视表的模型 class TeamUser extends Eloquent { public function save(array $options = array()) { // do cool stuff when relationship is saved via // attach/detach } } 解决方法
您可以向团队模型添加$touches.
class Team extends Eloquent { protected $touches = array('TeamUser'); // Relationship public function users() { return $this->belongsToMany('User'); } } 这将更新TeamUser updated_at字段.我认为这也会击中TeamUser模型中的save()方法. 如果这不起作用,您可以在Team save()方法中触发自己的事件并在某处侦听此事件. Event::fire('team.updated',array($team)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |