0

現在のユーザーに料金を登録してもらいたいです。

```
/**
 * @ORM\Column(type="string", length=255)
 */
private $name;

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="matters")
 * @ORM\JoinColumn(nullable=false)
 */
private $user;

/**
 * @ORM\OneToMany(targetEntity="App\Entity\Note", mappedBy="matter")
 */
private $notes;

/**
 * @ORM\ManyToMany(targetEntity="App\Entity\User", inversedBy="studentsMatters")
 */
private $student;
```

彼が「更新」を押すと、ManyToMany 関係は現在のユーザーを送信する必要があります。私のコントローラーでは、現在のユーザーを送信しようとしています

/**
 * @Route("/{id}/edit", name="student_edit", methods={"GET","POST"})
 */
public function edit(Request $request, Matter $matter): Response
{
    $form = $this->createForm(StudentType::class, $matter);
    $form->handleRequest($request);
    $user = $this->getUser();
    $matter->setStudent($this->getUser());

    if ($form->isSubmitted() && $form->isValid()) {
        $this->getDoctrine()->getManager()->flush();

        return $this->redirectToRoute('student_index');
    }

    return $this->render('student/edit.html.twig', [
        'matter' => $matter,
        'form' => $form->createView(),
    ]);
}

しかし、うまくいきません。

現在のユーザーを取得するにはどうすればよいですか?

4

1 に答える 1