Énoncé du problème:
Deux entités: Info et User (FOSUserBundle)
Type de relation entre les entités: ManyToOne
Les utilisateurs sont déjà dans la base de données
Le problème:
Lors de la création d'une info, il me donne une erreur en modification de User.
ERREUR: Une exception s'est produite lors de l'exécution 'SET UPDATE utilisateur username =, mot de passe =, = date_naissance, etablissement =, username_canonical =????? WHERE id =? avec params [null, null, null, null, null, 19]:
SQLSTATE [23000]: Integrity violation de contrainte: 1062 double entrée'' pour la clé 'UNIQ_2DA1797792FC23A8'
mais je veux persister Info sans modification de User.
Code attaché la méthode ajouterInfoAction () + classe info
classe info :
1 2 3 4 5 6 7
| ...
/**
* @ORM\ManyToOne(targetEntity="Usms\UserBundle\Entity\User")
* @ORM\JoinColumn(nullable=false)
*/
private $user;
.... |
méthode ajouterInfoAction () :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| ....
$user=$this->get('security.context')->getToken()->getUser();
if ($this->get('security.context')->isGranted('ROLE_ENSEIGNANT')) {
$info = new Info;
$info->setUser($user);
$form = $this->createForm(new InfoType, $info);
$request = $this->get('request');
if ($request->getMethod() == 'POST') {
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($info);
$em->flush();
return $this->redirect($this->generateUrl('usms_harakiya_homepage'));
} |
et Merci d'avance
Partager