Dieser Teil meiner Beitrag Einheit ist:aktuellen Benutzer Symfony der eingereichten Form Hinzufügen
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="post")
* @ORM\JoinColumn(name="user", referencedColumnName="id")
*/
private $user;
und vom Unternehmen Benutzer:
$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\OneToMany(targetEntity="Post", mappedBy="user")
*/
private $post;
mein Controller sieht wie folgt aus
Der Beitrag wird im Ordner gespeichert, der Benutzer ist jedoch leer oder null. Die $this->getUser()
ist jedoch nicht null und es zeigt das Benutzerobjekt, wenn ich es ablege.
sehr seltsam, versuchen, die Linie bewegt '$ post-> setUser ($ this-> getUser());' nach der Objekterstellung '$ post = new Post();' – Matteo
ich versucht habe, Dies hat aber das gleiche Problem. – shaNnex
Können Sie uns die 'Post :: setUser()' Methode zeigen? und versuchen Sie 'name =" user "' in 'name =" user_id "' umzubenennen und aktualisieren Sie Ihr DB-Schema. – yceruto