Hello,
J'ai une relation ManyToMany entre mes entités article et tag, et j'utilise un choice type pour les afficher dans mon form (car le tagging support de la bibliothèque select2 s'applique sur les select). Ca fonctionne, sauf que je ne sais pas comment récupérer les valeurs de ce choicetype (les fonctionnalités par défaut ne persistent rien). Votre aide est bien venueMerci!
/**
* Article.php
*
* @ORM\Table(name="article")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticleRepository")
*/
class Article
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* Many articles have Many tags.
* @ORM\ManyToMany(targetEntity="Tag")
* @ORM\JoinTable(name="article_tags",
* joinColumns={@ORM\JoinColumn(name="article_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id")}
* )
*/
private $tags;
}https://select2.github.io/examples.html#tags/**
* Project Type
*
* @category PHP
* @package AppBundle
* @license http://choosealicense.com/licenses/bsd-2-clause/
*/
class ArticleType extends AbstractType
{
/**
* BuildForm
*
* @param FormBuilderInterface $builder form builder
* @param array $options options
*
* @return void
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'tags', EntityType::class, array( // j'ai aussi essayé avec ChoiceType::class
'label' => 'Tags',
'multiple' => true,
'class' => 'AppBundle:Tag',
'choice_label' => 'name',
'attr' => array(
'class' => 'form-control'
)
));
}
Partager