我想用他所有的关系复制一条记录。复制一个包含所有关系的Doctrine对象
我与努力:
$o = Doctrine::getTable('Table')->Find(x);
$copy = $object->copy();
$relations = $o->getRelations();
foreach ($relations as $name => $relation) {
$copy->$relation = $object->$relation->copy();
}
$copy->save();
此代码不工作,但我认为这是在路上。
我认为参数deesn't工作正常。 在我的模型中,我有2个行为在嵌套集合中工作(I18n和Sluggable)。可能这是copy()方法失败的原因。 – manolovn 2010-03-02 10:55:54
我看了一下代码 - “deep”参数只在加载时复制引用。所以你必须在克隆之前访问$ object的所有引用,或者找到一种方法来加载引用。 – chiborg 2011-01-03 21:13:33