Código PHP:
Ver original
<?php namespace Project\UsuarioBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * Permiso * * @ORM\Table(name="permisos") * @ORM\Entity(repositoryClass="Project\UsuarioBundle\Repository\PermisoRepository") */ class Permiso { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="tipo", type="string", length=255, unique=true) */ private $tipo; /** * @ORM\ManyToMany(targetEntity="Usuario", mappedBy="permisos") */ private $usuarios; /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set tipo * * @param string $tipo * @return Permiso */ public function setTipo($tipo) { $this->tipo = $tipo; return $this; } /** * Get tipo * * @return string */ public function getTipo() { return $this->tipo; } /** * Constructor */ public function __construct() { $this->usuarios = new \Doctrine\Common\Collections\ArrayCollection(); } /** * Add usuarios * * @param \Project\UsuarioBundle\Entity\Usuario $usuarios * @return Permiso */ public function addUsuario(\Project\UsuarioBundle\Entity\Usuario $usuarios) { $this->usuarios[] = $usuarios; return $this; } /** * Remove usuarios * * @param \Project\UsuarioBundle\Entity\Usuario $usuarios */ public function removeUsuario(\Project\UsuarioBundle\Entity\Usuario $usuarios) { $this->usuarios->removeElement($usuarios); } /** * Get usuarios * * @return \Doctrine\Common\Collections\Collection */ public function getUsuarios() { return $this->usuarios; } public function __toString() { return $this->tipo; } }
Y me gustaría crear un formulario con el componentes Forms que muestre checkbox por cada permiso que tenga en la base de datos. He probado CheckboxType y EntityType pero sólo consigo que me muestre un solo checkbox.
Código PHP:
Ver original
{ $em = $this->container->get('doctrine')->getEntityManager(); $permisos = $em->getRepository('UsuarioBundle:Permiso')->findAll(); foreach($permisos as $permiso){ $builder ->add( 'id', CheckboxType::class, ) ) ; } }
Se puede hacer lo quiero?