tp5.1 模型设置了软删除,detach 不能删除中间表的问题

问题场景:

1.模型设置了软删除

image-20200701172613568

2.设置了多对多的关联

image-20200701172740951

这时候你调用$media->keywordss()->detach()会发现,中间表数据根本不会删除即使中间表没有设置软删除,这时候你要删除中间表数据怎么办呢?

其实detach 是有第二参数的,第二个参数为true即可删除,跟设置了软删除的模型要真删除的方法一样,第二个参数写上true即可

例:

$media->keywordss()->detach($keywords,true);

注意:为true 之后会删除中间表以及关联的表数据,如果只想删除中间表数据,谨慎使用,如果只想删除中间表还是使用DB类删除的方式

posted @ 2020-07-01 17:33  makalo  阅读(495)  评论(0编辑  收藏  举报