0
Maby一個愚蠢的問題,但我沒有看到它。Symfony3更新表單不起作用
我想改變我的表格中的數據,這個表格包含了其他實體之間的關係。 在創建新項目時,更新功能將不起作用
當我在$ form-> getData()上進行var轉儲時,我的瀏覽器會崩潰。
在form-> isValid裏我的var_dump沒有顯示任何東西。
另外我試過$ em-> merge選項,結果相同。
非常感謝!
編輯功能
/**
* @Route("/user/item/edit/{id}")
*/
public function editItemAction($id, Request $request)
{
$em = $this->getDoctrine()->getManager();
$item = $em->getRepository('AppBundle:Item')->find($id);
if (!$item){
return $this->redirect('/user/item');
}
$form = $this->createForm(ItemType::class, $item);
if ($form->isSubmitted() && $form->isValid()){
$data = $form->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($data);
$em->flush();
return $this->redirect('/user/item');
}
return $this->render('admin/item/edit.html.twig', [
'form' => $form->createView()
]);
}
表格類型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('category', EntityType::class, array(
'class' => 'AppBundle:Category',
'choice_label' => function ($category) {
return $category->getName();
}))
->add('title', TextType::class)
->add('shortText', TextType::class)
->add('text', TextType::class)
->add('link', TextType::class)
->add('active', CheckboxType::class, [
'required' => false
])
->add('imageId', TextType::class)
->add('Submit', SubmitType::class)
->getForm();
}
的包括
use AppBundle\Entity\Category;
use AppBundle\Entity\Item;
use AppBundle\Form\ItemType;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Doctrine\ORM\EntityRepository;
非常感謝,我是對的,這是一個愚蠢的問題:) –