2011-04-29 21 views
0

symfony創建了一個dogform類,它可以編輯數據庫中的一個狗條目。現在以symfony格式編輯多個數據庫行

<?php echo $form; ?> 

以及我想編輯多個犬(在一個頁面): 顯示的形式來看我目前使用。 我該怎麼做? 我想我需要相同的形式多次,但不同的初始數據(狗)

回答

1

你需要一個形式,因爲你只能在一個時間提交一個表單,根據HTML規範。 此表單將嵌入DogForm的集合。

class DogCollectionForm extends sfForm 
{ 
    $dogs = Doctrine::getTable('Dog')->findAll(); 
    foreach ($dogs as $i => $dog) 
    { 
    $dogForm = new DogForm($dog); 
    $this->embedForm($i, $dogForm); 
    } 
} 

作爲增強,傳遞$犬,形成從行動作爲參數。

+0

好的謝謝,顯示所有行(在數據庫中)正在工作,但現在我有一個問題來保存它。 – Rancho 2011-04-30 22:41:44

+0

(因爲sfForm沒有自己的保存方法)。我嘗試在我的更新操作中獲取嵌入的表單(使用$ this-> form-> getEmbeddedForms()),並分別保存每個表單...但是出現錯誤(_csrf_token [Required。]) – Rancho 2011-04-30 22:48:11

+0

不,sfForm有保存方法,並且默認保存所有嵌入的表單。你一定在做錯事。看看這個例子:http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Forms – Dziamid 2011-05-01 21:35:24