gpt4 book ai didi

php - 复制一个包含所有关系的 Doctrine 对象

转载 作者:可可西里 更新时间:2023-11-01 00:07:37 25 4
gpt4 key购买 nike

我想复制一条他所有亲戚的记录。

我正在尝试:

$o = Doctrine::getTable('Table')->Find(x); 
$copy = $object->copy();
$relations = $o->getRelations();

foreach ($relations as $name => $relation) {
$copy->$relation = $object->$relation->copy();
}

$copy->save();

这段代码不起作用,但我认为它正在路上。

最佳答案

我一直无法使深层复制功能正常运行。

我像这样为我的一个模型手动编写了深度复制功能

public function copyAndSave ()
{
$filters = array('id', 'created');

$survey = $this->copy();

$survey->Survey_Entries = new Doctrine_Collection("Survey_Model_Entry");
$survey->Assignment_Assignments = new Doctrine_Collection("Assignment_Model_Assignment");
$survey->Survey_Questions = new Doctrine_Collection("Survey_Model_Question");

$survey->save();

foreach ($this->Survey_Questions as $question)
{
$answers = $question->Survey_Answers;
$newQuestion = $question->copy();
$newQuestion->survey_surveys_id = $survey->id;
$newQuestion->save();
$newAnswers = new Doctrine_Collection("Survey_Model_Answer");

foreach($answers as $answer)
{
$answer = $answer->copy();
$answer->save();
$answer->survey_questions_id = $newQuestion->id;
$newAnswers->add($answer);
}
$newQuestion->Survey_Answers = $newAnswers;

$survey->Survey_Questions->add($newQuestion);
}
return $survey->save();
}

关于php - 复制一个包含所有关系的 Doctrine 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com