CakePHP:HABTM在habtmDelete调用上未正确执行连接

CakePHP:HABTM在habtmDelete调用上未正确执行连接,php,cakephp,has-and-belongs-to-many,Php,Cakephp,Has And Belongs To Many,我们正在从Cake 1.2升级到1.3.8,并使用ExtendedAssociations行为 我们面临的一个问题是我们的商店模型,它通过商店与模块建立了HABTM关系 检索数据是很好的,但是移动到1.3.8似乎引入了一个问题,即当我们想要从存储中删除所有模块时——在存储模型中 $this->habtmleteall'Module',$this->id 问题是,这会产生以下SQL查询,因为它首先选择所有存储\单元模块,以查看要删除的内容 从stores_模块中选择StoresModule.mod

我们正在从Cake 1.2升级到1.3.8,并使用ExtendedAssociations行为

我们面临的一个问题是我们的商店模型,它通过商店与模块建立了HABTM关系

检索数据是很好的,但是移动到1.3.8似乎引入了一个问题,即当我们想要从存储中删除所有模块时——在存储模型中

$this->habtmleteall'Module',$this->id

问题是,这会产生以下SQL查询,因为它首先选择所有存储\单元模块,以查看要删除的内容

从stores_模块中选择StoresModule.module_id作为StoresModule,其中StoresModule.store_id=1,module.system_默认值=0

_

2011-03-29 18:27:46警告:警告512:SQL错误:1054:在[/usr/lib/cakephp_1.3.8/cake/libs/model/datasources/dbo_source.php,第684行]where子句中的“Module.system_default”未知列

因此,问题似乎在于上面的SQL语句没有将连接添加到modules表中。。因此,它无法调整Module.system\u默认值

这方面的任何帮助都会很好,这真的让我很困惑:


克里斯。

我不能完全确定我是否理解,但你似乎没有正确地调用你的模型。如果需要删除所有关联的模型记录,可能需要执行以下操作:

$this->Store->Modules->deleteAll(array('Store.id' => $id), true, false);

没有测试

1.2->1.3.8,可能有一些变更记录?