1
這是我後實體的一部分:添加當前用戶的Symfony的提交形式
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="post")
* @ORM\JoinColumn(name="user", referencedColumnName="id")
*/
private $user;
,並從用戶實體:
/**
* @ORM\OneToMany(targetEntity="Post", mappedBy="user")
*/
private $post;
我的控制器看起來是這樣的:
$post = new Post();
$form = $this->createForm('FreeCycler\UserBundle\Form\PostType', $post);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$post->setUser($this->getUser());
// also tried this:
//$post->setUser($this->getUser()->getId());
$em = $this->getDoctrine()->getManager();
$em->persist($post);
$em->flush($post);
return $this->redirectToRoute('my_post_show', array('id' => $post->getId()));
}
帖子被保存到orm,但用戶爲空或爲空。然而,$this->getUser()
不爲空,它顯示用戶對象,如果我轉儲它。
很奇怪,請嘗試將線'$後> SETUSER($這個 - >的getUser());'對象創建'$後後=新郵();' – Matteo
我曾嘗試這但是得到了同樣的問題。 – shaNnex
你能告訴我們'Post :: setUser()'方法嗎?並嘗試將'name ='user''重命名爲'name =「user_id」'並更新您的數據庫模式。 – yceruto