2014-01-25 111 views
0

我的應用程序通過主機路由處理多個商店,因此幾乎每個表都有shop_id。現在,我有類別和單獨的表單來管理他們CategoriesTypeSymfony表單實體集合自定義對象構建器

$builder->add('categories', 'bootstrap_collection', array(
     'type' => $this->categoryType, 
     'allow_add' => true, 
     'allow_delete' => true, 
     'error_bubbling' => false, 
    )); 

categoryType是被構造爲具有與設置爲分類實體data_class當前店鋪一個Type。但需要shop_it才能正確存儲在數據庫中。

問題是,如何嵌入一個邏輯來改變表單之前對象 - 如何在新實體上使用setShop()。

這是我如何使用它:

$categoriesForm = $this->createForm(new MenuCategoriesType(
    $this->get('form.category_type') 
), $catering = $this->getUser()->getCatering()); 
$categoriesForm->handleRequest($request); 

if ($categoriesForm->isValid()) { 
    $em = $this->getDoctrine()->getManager(); 
    $em->persist($catering); 
    $em->flush(); 
} 

回答

相關問題