2011-09-27 10 views
0

Symfony 1.4에서 하나의 동작으로 200 개 이상의 객체에 대한 축소판을 생성하고 싶습니다. 문제는 양식 저장시 thmbnail 생성이 발생한다는 것입니다.Symfony 1.4 모든 항목을 하나의 동작으로 저장

class AuthorForm extends BaseAuthorForm 
{ 
    public function configure() 
    { 
    /* some configs */ 
    } 

    public function save($con = null) 
    {  
    /* create thmbnail from original picture */ 
    } 

} 
내가 (배치) 액션이 아니라 백엔드의 각 항목에 가서 저장하는 것보다, 한 번에 모두 저장할 수 있기를 쓸 수있는 방법

?

$ author-> save(); 물론, 작동하지 않습니다.

감사합니다.

+0

양식 만들기, 개체를 양식에 바인딩 한 다음 양식을 저장하지 않았습니까? – greg0ire

답변

0

개체를 가져 와서 반복하고 양식을 만들어 저장해야합니다. 다음과 같이.

$authors = Doctrine_Core::getTable('Author')->findAll(); 
foreach($authors as $author){ 
    $form = new AuthorForm($author); 
    $form->save(); 
} 

dev에없는 호스팅 계획에서 실행하면 메모리 문제가 발생할 수 있습니다. 엄지 손톱을 얻는 더 좋은 방법은 필요에 따라 캐시 된 미리보기 이미지를 생성하는 sfImageTransformExtraPlugin (http://www.symfony-project.org/plugins/sfImageTransformExtraPlugin)과 같은 플러그인을 사용하는 것입니다. 미리보기 이미지를 생성하는 번거 로움을 겪지 않아도됩니다. 그리고 여전히 동일한 사진의 여러 축소판 버전을 매우 쉽게 가질 수 있습니다.

그래도이 방법을 사용해야하는 경우 다음과 같이 루프 중에 설정하지 않은 항목을 설정하십시오.

$authors = Doctrine_Core::getTable('Author')->findAll(); 
foreach($authors as $author){ 
    $form = new AuthorForm($author); 
    $form->save(); 
    unset($form, $author); 
} 
관련 문제