Hola,
Estoy usando symfony 5. Tengo un error al tratar de guardar con un select del formbuilder los roles de una aplicación. Los roles son un array y se queja de la conversión que hace el formulario para ese tipo....
Lo ideal sería que lo pillara con su tipo de dato adecuado (no lo he conseguido) o añadir un field auxiliar (no he encontrado forma de añadirlo, property_path que parece que era la manera de hacerlo está deprecated) para después en el controlador hacer un switch y guardar el rol adecuado... No cabe la posibilidad de guardar el rol como string porque se puede dar el caso de que un usuario tenga varios roles.
¿Alguna ayuda?
tengo esto en la entidad de usuario:
/**
* @ORM\Column(type="json")
*/
private $roles = [];
/**
* @see UserInterface
*/
public function getRoles(): array
{
return $this->roles;
}
public function setRoles(array $roles): self
{
$this->roles = $roles;
return $this;
}
tengo esto en el formbuilder
->add('roles', ChoiceType::class, [
'label' => 'kind_of_user',
'attr' => [
'class'=>'form-control myselect'
],
'choices' => [
'Admin' => 'ROLE_ADMIN',
'Operador' => 'ROLE_OP',
'Trabajador' => 'ROLE_USER'
],
])