CakePHP hasAndBelongsToMany (HABTM) 删除加入记录

2023-12-14

我在用户和位置之间有 HABTM 关系。两种型号都有合适的$hasAndBelongsToMany变量集。

当我管理用户位置时,我想删除用户和位置之间的关联,但不删除位置。显然这个位置可能属于其他用户。我希望以下代码仅删除提供 HABTM 关联的连接表记录,但它删除了两条记录。

$this->Weather->deleteAll(array('Weather.id' => $this->data['weather_ids'], false);

然而,我是 CakePHP 的新手,所以我确信我错过了一些东西。我尝试将级联设置为 false 并使用用户、用户->天气、天气->用户更改模型顺序。没有运气。

预先感谢您的任何帮助。


不太确定如何Weather与你的型号有关,所以我就用传统的名字,LocationsUser是连接表。这应该删除用户与 id 之间的所有关联$id以及任何地点:

$this->User->LocationsUser->deleteAll(array('LocationsUser.user_id' => $id), false);

另请注意,您的代码片段中缺少右括号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CakePHP hasAndBelongsToMany (HABTM) 删除加入记录 的相关文章