bonjour,
je cherche à savoir comment récupérer l'user d'un connecté à l'espace membre avec security de symfony
Un user c'est une entité, si tu regarde ton entité tu veras des getters et des setters.
$user->getId();
Bonjour c'est dans la doc https://symfony.com/doc/4.0/security.html
$user = $this->getUser();
bonjour
j'ai regardé la doc le dump me renvoie bien les données de l'utilisateur mais le problème c'est que j'ai ce message d'erreur 500
Return value of App\Controller\ProfileController::update() must be an instance of Symfony\Component\HttpFoundation\Response, none returned
<?php
namespace App\Controller;
use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\HttpFoundation\Response;
class ProfileController extends AbstractController {
/**
* @Route ("/profile", name="profile_home")
*/
public function index() {
return $this->render('profile/index.html.twig');
}
/**
* @Route ("/profile/update", name="profile_update")
*/
public function update(): Response {
$users = $this->getUser();
dump($users);
/*
$repository = $this->getDoctrine()->getRepository(User::class);
$data = $repository->find(['id' => 11]);
dump($data);
return $this->render('profile/update.html.twig');
*/
}
}
Salut,
tout simplement car Symfony attend une "Response" (puisque tu lui demandes)
public function update(): Response {
Dans ton cas met un die(); et tu n'auras pas le pb au moins pour voir le dump, sinon retourne au moins la vue ;)
/**
* @Route ("/profile/update", name="profile_update")
*/
public function update(): Response {
$users = $this->getUser();
dump($users);
die();
/*
$repository = $this->getDoctrine()->getRepository(User::class);
$data = $repository->find(['id' => 11]);
dump($data);
return $this->render('profile/update.html.twig');
*/
}
ou
/**
* @Route ("/profile/update", name="profile_update")
*/
public function update(): Response {
$users = $this->getUser();
dump($users);
/*
$repository = $this->getDoctrine()->getRepository(User::class);
$data = $repository->find(['id' => 11]);
dump($data);
*/
return $this->render('profile/update.html.twig');
}
en fait pour récupérer l'id j'ai fait ça mais là je n'ai pas accès à l'id vu que c'est une variable privé hum
public function update(): Response {
$user = $this->getUser();
dump($user->username);
/*
$repository = $this->getDoctrine()->getRepository(User::class);
$data_users = $repository->findOneBy(['id' => $user->id]);
return $this->render('profile/update.html.twig', [
'data_users' => $data_users
]);
*/
}
ah oui je comprend mieux
public function update(): Response {
$user = $this->getUser();
$repository = $this->getDoctrine()->getRepository(User::class);
$data_users = $repository->findOneBy(['id' => $user->getId()]);
return $this->render('profile/update.html.twig', [
'data_users' => $data_users
]);
}
en tout cas merci