QeePHP 开源社区 - 引领 PHP 开发新思想、新模式's Archiver

hackfan 发表于 2008-10-2 22:02

hasOne表连接Create时的BUG

首先建立HasOne关系

然后find()再对结果进行修改

把primaryKey信息删除,再create

主表能插入,但是从表不能插入,因为获得主表插入的id以后,从表有了id

表连接的操作默认是Save,而因为传递了id,所以默认是update操作


目前解决的方法是修改FLEA/Db/TableLink.php

把    var $saveAssocMethod = 'save';

改为    var $saveAssocMethod = 'replace';

dualface 发表于 2008-10-8 17:01

这个不是bug,设计上就是这样的。因为如果关联表使用主表的主键作为自己的主键,那么 fleaphp 就没法判断关联表记录是应该新建还是更新。

除了你的处理方法,还可以为关联表添加一个自己的主键字段。

yk5515 发表于 2008-10-10 11:40

没必要去改框架
在关联操作的时候指定saveAssocMethod 就行了

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.