2011-04-29 2 views
0

symfony는 데이터베이스에서 하나의 dog 항목을 편집 할 수있는 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); 
    } 
} 

개선 사항으로, $ dogs를 매개 변수로 action에서 양식에 전달하십시오.

+0

감사합니다. 데이터베이스의 모든 행을 표시하고 있지만 지금은 저장하는 데 문제가 있습니다. – Rancho

+0

(sfForm에는 자체 저장 메소드가 없기 때문에). 내 업데이트 작업에 포함 된 양식 ($ this-> form-> getEmbeddedForms())을 사용하여 개별적으로 저장하려고 시도했지만 오류가 발생했습니다 (_csrf_token [필수.]) – Rancho

+0

아니요, sfForm에는 저장 메소드를 사용하고 기본적으로 모든 포함 된 양식을 저장합니다. 뭔가 잘못하고 있어야합니다. 이 예제를 보자 : http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Forms – Dziamid