说说今天发现的关联操作bug

浏览:159 发布日期:2010/05/07
- 普通 - 未处理
[i=s] 本帖最后由 hsyan2008 于 2010-5-10 08:57 编辑 [/i]

今天做一个会员功能,数据表设计了三个,一个是会员名密码表,一个是会员信息表,还有个是密码保护表,前两个是HAS_ONE关系,第一个和第三个是HAS_MANY关系
现在假设数据库有这么几条记录
会员表 会员信息表 密码保护答案表
uid(用户ID) id(信息ID) uid(用户ID) id(答案ID) uid(用户ID)
1 1 1 1 1
2 1
2 2 2 3 2
4 2

3 3 3 5 3
6 3
7 3
现在的问题就是,当我用以下代码关联删除多条记录的时候
$model->relation(true)->where("uid"=>array("in",array("1","2","3")))->delete();
会员表相关信息全部删除,而其他两个表只删了和第一个uid相关的数据,其他都没删掉,也就是说运行后的结果如下
会员表 会员信息表 密码保护答案表
uid(用户ID) id(信息ID) uid(用户ID) id(答案ID) uid(用户ID)
2 2 3 2
4 2

3 3 5 3
6 3
7 3
不知道是我代码有错还是关联删除操作真的不能针对多条,至少我做单条关联删除的时候没出现问题过,请懂的人出来指点下哈
评论(
后面还有条评论,点击查看>>