Bonjour,
Je bosses sur Symfony2 depuis 2 semaines, et je me pose une question.
On va faire simple, j'ai une table news qui contient 5 champs :
- ID
- Titre
- Contenu
- Date
- Auteur
J'ai créé mon entité News et tout ce qui faut pour que ca fonctionne (formulaire, vue twig, type, handler, ...).
Dans mon fichier NewsType, j'ai une méthode :
Cependant, actuellement je ne laisse pas remplir la date à mes utilisateurs. Elle est donc remplie automatiquement lors de la validation du formulaire (dans mon NewsController).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('date', 'date', array('attr'=> array('style'=>'display:none'))) ->add('titre', 'text') ->add('contenu', 'textarea', array('attr' => array('rows' => 5,'class' => 'field span8'))) ->add('auteur', 'text'); }
Ma question, si j'enlève le champs ->add('date'), Symfony m'affiche une erreur (il doit pas arriver à mapper ce $builder avec mon entité). Je suis "obliger" de passer par un champ display:none pour masquer ce champs.
Est-ce une bonne méthode ?
Car je trouve ça pas jolie du tout. Car si j'ai un objet qui contient 100 attributs, que 80 doivent être remplis automatiquement (je ne veux pas de valeur par défaut dans phpmyadmin), je me vois mal faire un display:none partout ...
Merci d'avance
Partager