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 :

Erreur Item "nom_champ_dematable" for "Array" does not exist


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Erreur Item "nom_champ_dematable" for "Array" does not exist
    Bonjour,

    Un nouveau problème se pose à moi avec l'erreur dans l'intitulé :

    Item "nom_champ_dematable" for "Array" does not exist sur mapage.html

    Mon contrôlleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       /**
       * @extra:Route("MaRoute", name="_MonNomDeRoute")
       * @extra:Template("MonBundle:Default:MaPage.html.html")
       */
        public function MaPageAction()
        {
            $manager = $this->get('entity_manager');
     
            return array(
                'dirspecentry' => $manager->findSpecEntryById(1),
            );
        }
    Ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function findSpecEntryById($id)
    {
       $result = $this->db->prepare('
            SELECT monchamp1, monchamp2 
            FROM table
            WHERE monid = :id
        ');
     
        $result->bindParam(':id', $id, \PDO::PARAM_INT);
        $result->execute();
     
        return $result->fetch(\PDO::FETCH_ASSOC);
    }
    Mon HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="tmp" value="{{ dirspecentry.monchamp1 }}" />
    Ce que j'ai remarqué, c'est que cette erreur se produit si la valeur de "monchamp" est égal à null.

    Comment je peux faire pour éviter cela ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    un var_dump($manager->findSpecEntryById(1)); ça donne quoi ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Et bien :

    array('monid' => '1', 'monchamp1' => 'TEST', 'monchamp2' => null)

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    T'es peut-être obligé de passé par {% if dirspecentry.monchamp1 is defined %} ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Avec cette solution, je n'ai plus l'erreur mais je n'ai plus de valeur dans le champ sur l'ensemble des fiches.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="monchamp" value="{% if (monarray.monchamp is defined) %} {{ monarray.monchamp }} {% endif %}" />

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Salut,

    J'ai eu des problèmes de ce genre en utilisant la méthode findBy() de l'entityManager car elle renvoie un tableau d'entités et il faut faire dans le twig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ monArray[0].monChamp }}
    si il n'y a qu'un enregistrement ou une boucle foreach sur monArray si il y en a plusieurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% for item in monArray %}
         {{ item.monChamp }}
    {% endfor %}
    Le mieux quand on est sûr de n'avoir qu'un enregistrement étant d'utiliser findOneBy() qui renvoie une entité...

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/04/2009, 10h40
  2. erreur apache File does not exist avec zencart
    Par me.to.you25 dans le forum Apache
    Réponses: 9
    Dernier message: 28/04/2008, 10h34
  3. Réponses: 1
    Dernier message: 12/11/2007, 16h43
  4. erreur import does not exist
    Par Mimi55 dans le forum JBuilder
    Réponses: 1
    Dernier message: 09/01/2007, 11h16
  5. [JpGraph] Erreur : Chosen locale file for error messages does not exist
    Par nagrom dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/07/2006, 15h15

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