3.1.3 - 致命 - 未处理
今天才发现个问题。使用关联模型RelationModel。直接
$UserModel = D('User');
$UserModel->relation(true)->where(array('id'=>1))->delete();
是删除不了关联的数据。关联方式是:HAS_ONE。
后来看代码发现。在RelationModel中_after_delete方法,$data本身就是空的,因为前面没有任何读取,所以$this->data也是空的。所以下面进行关联删除的时候,压根就获取不到对应的数据,比如我的关联字段是id,这里压根就没地方获取id的值!
以前没发现,是因为我在关联删除前,会find一次。。。$this->data有数据,才没出现问题,今天在做关联自动验证,关联自动完成的时候,直接测试关联删除才发现。
