我有两个模型和一个连接表,User
,Post
和posts_users
。CakePHP中的UpdateAll和HABTM
该posts_users
表包含一些额外的字段,其中之一是is_active
。我想将所有用户帖子设置为活动状态,以便用户自己处于活动状态。
我有以下
$this->Post->PostsUser->updateAll(array('PostsUser.is_active' => 1), array('PostsUser.user_id' => $data['User']['id'], 'User.is_active' => 1));
这会导致MySQL错误
Warning (512): SQL Error: 1054: Unknown column 'User.is_active' in 'where clause' ...
Query: UPDATE
posts_sites
ASPostsUser
SETPostsUser
.is_active
= 1 WHEREPostsUser
.user_id
= 1 ANDUser
.is_active
= 1
正如你可以看到用户的表是没有得到参加了查询。有没有围绕这个问题?
这是一个自动生成的模型,我用适当的关联创建了模型文件,现在它工作,干得好! – DanCake 2009-08-05 06:14:42