关联删除 包含condition时,错删全部匹配condition的数据

浏览:451 发布日期:2014/09/18 分类:求助交流 关键字: bug 关联删除 关联模型 condition
本人最近使用关联删除时,用了condtion条件,结果自动将全部匹配condition的数据删掉了。以下是本人找到别人的问题,和我的一模一样。~~~~
版本:3.1.2和3.2
有三个表: 新闻表(posts), 栏目表(columns), 图片表(assets)

其中新闻表和栏目表与图片表是has_many关系,相反图片表是belongs_to, 关联ID为relation_id 和 relation_type, relation_type是指所关联的表是新闻还是栏目.

新闻表的Model关联写法如下:
//关系
protected $_link = array(
'Asset' => array(
'mapping_type' => self::HAS_MANY,
'class_name' => 'Asset',
'foreign_key' => 'relation_id',
'mapping_name' => 'assets',
'condition' => 'relation_type="Post"',
),
);

$posts = D('Post')->relation(true)->select();
如果是查询是没有问题的,能准确查出关联图片表relation_type=“Post”下的数据

但是关联删除时会不考虑relation_id的条件,会把relation_type=‘Post’下所以数据删除
不知道是框架BUG还是我的condition条件写的不准确,希望尽快得到开发人员的帮助!
最佳答案
评论( 相关
后面还有条评论,点击查看>>