Каскадирование на самом деле не поможет вам в этом случае, так как я представляю, что у вас есть отдельная (не встроенная) форма CommentType
.Таким образом, вы получаете объект Comment
в вашем контроллере, который вы должны сохранить, связанный с уже существующими объектами User
и Post
.
Каскадирование было бы полезно, если бы у вас была форма PostType
, например, со встроенной формой CommentType
(через поле comment
), и вы хотели сохранить (или обновить) как Post
, так иComment
сущность.
Я бы предложил добавить поле post_id
в форму CommentType
и использовать DataTransformer, например, документация Symfony предлагает здесь для преобразования post_id
вPost
сущность.Наконец, все, что вам нужно сделать, это явно указать своего пользователя в контроллере:
...
$comment = new Comment();
$form = $this->createForm(CommentType::class, $comment);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$comment->setUser($this->getUser());
$em->persist($comment);
$em->flush();
}