我有兩張桌子。我正在渲染兩個表的字段(user
和user_education
)。一個用戶可以有多個記錄(教育細節)。要編輯用戶的信息,我只能檢索到特定user_education
的詳細信息的一條記錄。如何檢索特定用戶的user_education
表的多個記錄?我在單個頁面中顯示來自兩個表格的字段editSuccess()
。用相關記錄呈現和更新Symfony表單?
我已經創建的這兩種形式的對象,如下面
foreach ($user->getUserEducations() as $edu)
{
$education = $edu;
break;
}
$this->form = new stFormProfile($user);
$this->form1 = new UserEducationForm($education);
在上述代碼$education
是user_education
的單個記錄。我應該傳遞一組user_education
對象($user->getUserEducations()
)。但它不會接受一組對象。
我綁定值,如下圖所示,
$this->form1->bind($request->getParameter('user_education'),
$request->getFiles('user_education'));
$this->form->bind($request->getParameter('profile'), $request->getFiles('profile'));
我使用下面的代碼保存更新的值,
$this->form->save();
$this->form1->save();
用戶表的字段都得到更新。但不適用於user_education
表。我得到 _csrf_token
[需要]錯誤。
和UserEducationForm.class.php
由Symfony自己使用最初給出的數據庫模式創建。在該模式中,我沒有爲user_education
表指定任何主鍵。所以Symfony自己創建了一個名爲id
的主鍵。這是否影響任何東西?
我渲染這些領域如下
print $form["username"]->renderLabel()
print $form["username"]->render()
print $form["email"]->renderLabel()
print $form["email"]->render()
print $form["firstname"]->renderLabel()
print $form["firstname"]->render()
print $form["lastname"]->renderLabel()
print $form["lastname"]->render()
print $form['skillset']->renderLabel()
print $form['skillset']->render()
print $form['years_of_experience']->renderLabel()
print $form['years_of_experience']->render()
教育詳情
print $form1['college_name']->renderLabel()
print $form1['college_name']->render()
print $form1['coursename']->renderLabel()
print $form1['coursename']->render()
print $form1['percentage']->renderLabel()
我需要使教育的多行詳細信息表(使用的foreach)。
你可以告訴你在模板中有代碼來渲染正在生成_csrf_token [必需]錯誤的形式。它可能沒有被添加到表格中 – 2011-04-19 15:02:50
這與Symfony 1.0.16仍然一樣,就像其他問題一樣嗎?在Symfony的新版本中,您可以使用[*嵌入的表單*](http://propel.posterous.com/embed-relation-forms-in-one-line-with-sfprope)來解決這個問題,它可以完全滿足您的需求。如果你想在Symfony的這個(非常)舊版本中模仿這種行爲,我認爲你必須自己做一些沉重的舉動。 (在回覆評論時使用'@ Jan',我收到通知) – 2011-04-20 06:55:11
@ d.syph.3r:謝謝,我更新了模板渲染代碼。 – Darshan 2011-04-20 10:25:48