gpt4 book ai didi

CakePHP hasAndBelongsToMany (HABTM) 删除加入记录

转载 作者:行者123 更新时间:2023-12-05 00:06:47 24 4
gpt4 key购买 nike

我在用户和位置之间建立了 HABTM 关系。两种型号都有相应的 $hasAndBelongsToMany变量集。

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

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

但是,我是 CakePHP 的新手,所以我确定我遗漏了一些东西。我曾尝试将级联设置为 false 并使用 User、User->Weather、Weather->User 更改模型顺序。没运气。

在此先感谢您的帮助。

最佳答案

不太清楚如何Weather与您的模型有关,因此我将使用传统名称,LocationsUser是连接表。这应该删除 ID 为 $id 的用户之间的所有关联。和任何地点:

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

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

关于CakePHP hasAndBelongsToMany (HABTM) 删除加入记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2838732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com