我有一个实体“优惠券”的表格。在这种形式中,我有一个实体“注释”的表单。由于我使用实体“优惠券”控制器来访问实体“注释”的形式,我在此控制器(“优惠券”控制器)中处理“注释”的提交。但是当我处理提交并尝试持久化并刷新数据时,它们都没有存储在我的Entity“Annotation”表中。我认为这是因为学说使用了“优惠券”的实体管理者。
我希望我足够清楚。你能帮帮我吗?
public function editAction(Request $request, Coupon $coupon)
{
$modified = new \DateTime('now');
$this->denyAccessUnlessGranted('ROLE_USER', null, 'Vous n\'avez pas les droits nécessaires!');
// Ici on bloque l'accès au coupon pour les autres utilisateurs
$coupon->setAccess(0);
$em = $this->getDoctrine()->getManager();
$em->persist($coupon);
$em->flush($coupon);
// ensuite on affiche le formulaire coupon et/ou on le traite
$editForm = $this->createForm('GestCoupons\CouponBundle\Form\CouponType', $coupon);
if ( $editForm->get('dateAjout') != null ) {
$editForm->get('dateMaj')->setData($modified->format('d/m/Y H:i'));
}
$editForm->handleRequest($request);
//on cree le formulaire d'annotation et/ou on le traite
$annot = new Annotation();
$annotForm = $this->createForm('GestCoupons\AnnotationBundle\Form\AnnotationType', $annot);
$annotForm->get('coupon')->setData($coupon->getId());
$annotForm->get('date')->setData($modified->format('d/m/Y H:i'));
$annotForm->handleRequest($request);
if ($editForm->isSubmitted() && $editForm->isValid()) {
$em = $this->getDoctrine()->getManager();
$coupon->setAccess(1);
$em->persist($coupon);
$em->flush($coupon);
return $this->redirectToRoute('coupon_show', array('id' => $coupon->getId()));
}
if ($annotForm->isSubmitted() && $annotForm->isValid()) {
$em = $this->getDoctrine()->getManager('annotation');
$em->persist($annot);
$em->flush($annot);
}
感谢您的帮助。