Bonjour,
Je met en place un site avec une authentification et je voudrais pouvoir gérer les rôles en DB. Dans la doc symfony, je trouve juste ce genre la :
Mon champ roles doit être de quel type ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public function getRoles() { return array('ROLE_USER'); }
J'ai trouvé des exemples avec type="json" ou type="json_array". J'ai essayé les deux, mais Doctrine me sort des erreurs quand j'essaye de faire la migration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** * @ORM\Column(type="string") */ private $roles = [];
quelqu'un aurait un exemple qui fonctionne, avec la fonction getRoles ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Migration 20180125090717 failed during Execution. Error An exception occurred while executing 'CREATE TABLE person (id INT AUTO_INCREMENT NOT NULL, civilite VARCHAR(200) NOT NULL, prenom VARCHAR(200) NOT NULL, nom VARCHAR(200) NOT NULL, username VARCHAR(200) NOT NULL, mail VARCHAR(200) NOT NULL, roles JSON NOT NULL, password VARCHAR(200) NOT NULL, is_active TINYINT(1) NOT NULL, UNIQUE INDEX UNIQ_34DCD1765126AC48 (mail), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB': SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'JSON NOT NULL, password VARCHAR(200) NOT NULL, is_active TINYINT(1) NOT NULL, UN' at line 1
Et donc Symfony 4.03, PHP 7.2, MariaDB
Merci !
Partager