IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Formulaire] array et entity manager [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut [Formulaire] array et entity manager
    Bonjour à tous,

    je cherche un moyen pour envoyer plusieurs array a mon formulaire lors de sa création (car je souhaite lui passer différentes valeurs que je regroupe selon certains critères..bref.), et lorsque je fait sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form = $this->get('form.factory')->create(new FormulaireType(), $lesTaux, $lesValeurs);
    une erreur s'affiche me disant :
    The options "0", "1" do not exist. Known options are: "attr", "block_name", "by_reference", "cascade_validation", "compound", "constraints", "csrf_field_name", "csrf_protection", "csrf_provider", "data", "data_class", "disabled", "empty_data", "error_bubbling", "error_mapping", "extra_fields_message", "intention", "invalid_message", "invalid_message_parameters", "label", "label_attr", "mapped", "max_length", "pattern", "post_max_size_message", "property_path", "read_only", "required", "translation_domain", "trim", "validation_constraint", "validation_groups", "virtual" .
    Je ne vois pas comment faire ...

    => J'ai une autre solution pour résoudre mon problème mais je coince aussi . Il faudrait que je puisse accéder a l'entity manager dans mon fichier FormulaireType.php pour pouvoir faire des tests et des requêtes sur $options... Quelqu’un saurait m'aider ? =/

    Merci d'avance !

  2. #2
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Bonjour,

    Le deuxième argument doit être un objet est ce le cas ?

    Peux tu poster ton formtype ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut
    Bonjour, tout d'abord, merci de m'avoir répondu.

    Les variables que je passe sont des Array, (pour $lesTaux cela fonctionne, mais si je rajoute le deuxième array, cela m'affiche l'erreur que j'ai écrite au dessus...:/

    Code du formType :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php namespace Cco\variablePayeBundle\Form;
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
     
    class FormulaireMontantType extends AbstractType
    {
     
         public function buildForm(FormBuilderInterface $builder, array $options)
         {
     
            $mois= date("n");
            $year = date("Y");
            if($mois == 1)
            {
                    $mois = 12;
                    $year = $year - 1;
            }
            else {
                    $mois = $mois - 1;
            }
            $num = cal_days_in_month(CAL_GREGORIAN, $mois, $year);
            for($i=1;$i <= $num ; $i++){
    $builder->add('indemnitesNuit'.$i , 'number',array( 'required' => false));
     $builder->add('indemnitesDimJF'.$i, 'number', array( 'required' => false ));
     }
     
         }
    /*
         public function getDefaultOptions(array $options)
         {
             return array('data_class' =>'Cco\variablePayeBundle\Entity\Agent'); //lien entre le formulaire et la classe (ou entity).
         }
    */
         public function getName(){
     
            return 'leFormulaireMontant';
         }
    }
    J'ai compris que le getDefaultOptions indiquer quel type d'objet doit prendre le formulaire ...C'est pour cela que je l'ai mi en commentaire, car mes champs n'ont pas d'entity propre à eux même si je peut dire ...
    Et de cette façon, je peut créer mes champs avec une boucle et avec le nom que je veut

    Voila, j’espère que je suis clair...c'est pas évident avec un projet comme celui ci ^^

    Merci, cordialement.

  4. #4
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Donc je reformule, le deuxième est un objet ou des data et le troisième est une array options qui est utilisé par le create du service.

    Après tu peux merge des deux arrays en une seule ?

    voila le code de l'interface qui est appelé dans la méthode create

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        /**
         * Returns a form.
         *
         * @see createBuilder()
         *
         * @param string|FormTypeInterface $type    The type of the form
         * @param mixed                    $data    The initial data
         * @param array                    $options The options
         * @param FormBuilderInterface     $parent  The parent builder
         *
         * @return FormInterface The form named after the type
         *
         * @throws Exception\FormException if any given option is not applicable to the given type
         */
        public function create($type = 'form', $data = null, array $options = array(), FormBuilderInterface $parent = null);

  5. #5
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    En répondant à un autre post, je me suis dit que ce bon de post devrait t'intéresser.

    http://stackoverflow.com/questions/6...to-formbuilder

    Typiquement tu vas pouvoir passer tous les array que tu vas avoir besoin et aussi l'entity manager récupérer depuis ton controler

  6. #6
    Membre éprouvé Avatar de anta_res
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut
    Il y a aussi ce post qui est suceptible de t'interresser je pense :
    http://www.developpez.net/forums/d13...on-formulaire/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question JPA Entity manager
    Par fdc.j dans le forum JPA
    Réponses: 0
    Dernier message: 24/04/2009, 21h45
  2. [EJB3 Entity] Gestion d'Entity Manager
    Par NinaSky dans le forum Java EE
    Réponses: 2
    Dernier message: 27/06/2008, 11h57
  3. Réponses: 4
    Dernier message: 01/12/2007, 22h22
  4. Effectuer du JDBC via l'Entity Manager
    Par Claythest dans le forum JPA
    Réponses: 1
    Dernier message: 06/04/2007, 10h22
  5. [EJB3 Entity] Création d'un entity Manager pour transaction
    Par bizet dans le forum Java EE
    Réponses: 4
    Dernier message: 23/02/2007, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo