1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2011
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2011
    Messages : 672
    Points : 344
    Points
    344

    Par défaut Champ de formulaire et entité

    Bonjour,

    j'aimerai savoir s'il est possible d'utiliser dans un formulaire un champ qui n'appartient pas à l'objet en question.

    Pour simplifier le problème disons que j'ai une entité E1 représenté en BD par deux champs de type datetime start_date et end_date.

    Dans le formulaire, je peux donc bêtement créer deux champs datetime et les faire correspondre.

    Mais en réalité, j'aimerais faire autre chose: rendre le champ end_date transparent pour l'utilisateur. Pour ça il me suffit de ne pas l'afficher, ça ne me pose pas de problème.

    Le soucis étant plutôt qu'en réalité, ce champ end_date je voudrais le calculer à partir d'une valeur entrée par l'utilisateur.

    Je voudrais lui faire entrer une durée 1h par exemple. Et à partir de cette durée et de start_date je calculerai le champ end_date.


    Sauf que voilà, le champ durée ne fait pas partie de l'entité ni de la base.



    Solution 1: Je rentre les deux champs dans l'entité...mais je trouve ça sale étant donné que techniquement parlant le champ durée n'a aucun intérêt à être stocké. A la différence du champ end_date qui lui aura d'autres utilités.

    Solution 2: Il est peut-être envisageable de passer dans le formulaire une variable qui n'appartient pas à l'entité. Mais là je ne sais pas faire

    Merci pour vos idées !

  2. #2
    Membre chevronné
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2012
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 491
    Points : 2 043
    Points
    2 043

    Par défaut

    la question est : la vue, est ce le bon endroit pour faire ton calcul ?

    il est plus pratique et logique de faire ce calcul au retour du formulaire dans le controller. (à moins qu'il y a une raison particulière que j'ignore...)

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2013
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : novembre 2013
    Messages : 656
    Points : 899
    Points
    899

    Par défaut

    Bonjour,
    une proposition qui peut être utile ici sinon tout est faisable ( solution 1 et solution 2)

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2011
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2011
    Messages : 672
    Points : 344
    Points
    344

    Par défaut

    Citation Envoyé par dukoid Voir le message
    la question est : la vue, est ce le bon endroit pour faire ton calcul ?

    il est plus pratique et logique de faire ce calcul au retour du formulaire dans le controller. (à moins qu'il y a une raison particulière que j'ignore...)
    Tout à fait d'accord, j'indiquais simplement que le calcul allait se faire à partir de la durée qui elle est présente dans la vue puisque renseignée par l'utilisateur.

    Il est évident que le calcul qui doit se faire se fera dans le contrôleur.

    Ma question c'était donc comment intégrer le champ durée à la vue et au formulaire sans l'intégrer à l'entité représenté en BD, de sorte à ce que lorsque je vais persister l'entité je n'essaie pas d'enregistrer un champ durée qui n'existe pas en BD.


    Le lien fourni par MehrezLabidi répond visiblement à ma question en disant que c'est possible, par contre je n'ai pas vraiment tout compris sur le fonctionnement.


    Merci à vous deux pour vos réponses.

  5. #5
    Membre chevronné
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2012
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 491
    Points : 2 043
    Points
    2 043

    Par défaut

    dans le ->add mettre : 'mapped' => false,

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

Discussions similaires

  1. [2.x] Champ de formulaire dynamique avec entités
    Par thomm543 dans le forum Symfony
    Réponses: 0
    Dernier message: 30/10/2012, 17h21
  2. [2.x] formulaire champ text d'une entité
    Par rafleboss dans le forum Symfony
    Réponses: 5
    Dernier message: 28/10/2011, 15h38
  3. [Word] Création d'un champs de formulaire
    Par Oberown dans le forum Word
    Réponses: 2
    Dernier message: 18/04/2005, 11h10
  4. Réponses: 2
    Dernier message: 28/10/2004, 16h54
  5. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06

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