symfony 2.5多对一关系外键为null



我有两个实体produit-entity和avis,具有多对一关系,一个产品可以有多个avis,但当我尝试保存注释时,字段produit_id保持为null。我已经很好地配置了关系,我认为我在控制器中有问题。

这是我的控制器添加avis操作:

public function addAction(Request $request){
$em =$this->getDoctrine()->getManager();
$produit=$em->getRepository('redeBundle:produit')->findAll();
$avis = new avis();
$avis->setCreatedAt(new DateTime('now'));
$form = $this->createForm(new avisType(), $avis);
$form -> handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$avis->setProduit($produit);
$em->persist($avis);
$em->flush();
return $this->redirect($this->generateUrl('produit_page'));
}
$formView=$form->createView();
return $this->render('myBundle:avisAdd.html.twig',
array('form'=>$formView));
}

这是我的实体avis

class avis {
/**
* @var produit
*
* @Assertvalid()
*
* @ORMManyToOne(targetEntity="redemarocredeBundleEntityproduit", 
cascade={"persist"})
* @ORMJoinColumn(nullable=false)
*
*
*/
private $produit;
...
}

有人能帮我解决这个问题吗?!

它可以通过使用其中一个解决方案来解决

  1. 在Avis类的setProduit方法中,添加以下指令:produit->addAvis($this(
  2. 请确保在任何时候调用$avis->setProduit($produit(,必须添加$produit->addAvis($avis(刷新数据之前

我假设addAvis是用于将给定avis添加到产品中的方法。

相关内容

  • 没有找到相关文章

最新更新