1
我有一個父窗體PageForm和一個嵌入窗體ContentForm。頁面與內容有一對多的關係。當正在編輯PageForm時,我只嵌入了1個ContentForm - 這工作正常。下面是PageFormSymfony 1.4嵌入表格
$content = new content();
$content->Page = $this->getObject();
if (sfContext::getInstance()->getActionName() == 'new')
{
$form = new contentForm($content);
} else
{
$form = new contentForm($this->getObject()->getPublishedVersion());
}
$this->embedForm('content', $form);
方法的配置方法getPublishedVersion()
返回單個內容對象。
編輯和保存工作正常 - 保存父窗體還執行嵌入對象到數據庫的更新...
我的問題是,我不希望更新現有的記錄我想創建一個新記錄並增加version_number列。我已經嘗試覆蓋PageForm類的saveEmbeddedForms()
方法,但是我發現它非常困難 - 有沒有人有任何關於如何做到這一點的示例或想法?
我曾經嘗試這樣做 - >
if ($forms === null)
{
$forms = $this->embeddedForms;
}
$newForm = new contentForm($forms['content']);
$newForm->save();
return parent::saveEmbeddedForms($con, $forms);
但其抱怨contentForm()期望和目標......我如何創建數組的新對象?