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 :

backend : no description for object of class


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut backend : no description for object of class
    Bonjour,

    Je pense que ce problème a déjà été mentionné maintes fois mais je n'arrive pas à trouver une réponse malheureusement.
    J'ai une relation 1-n (d'un bijou vers sa ou ses photos)

    Quand je veux éditer ou créer une photo, il me met dans le champ "id_bijou" : "no descriptio n for object of class "bijou"".
    Je ne sais pas comment récupérer tous les id de bijoux...
    Faut-il changer quelque chose dans /lib/form ??

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je penserais plutôt à un problème dans le shema.yml, peux-tu le poster ? Où au moins, les tables en causes, bijou, photo, liaison bijou photo et autres tables liées au premier degré ?

    Le nom de ta clef me laisse penser que tu n'as probablement pas suivi les conventions de nommage, ce qui peut expliquer certains désagréments...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    Bonjour,

    Voici la partie schema.yml :

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Bijou:
      connection: doctrine
      tableName: bijou
      columns:
        id_bijou:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom_bijou:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Photo:
          local: id_bijou
          foreign: id_bijou
          type: many
    Photo:
      connection: doctrine
      tableName: photo
      columns:
        id_photo:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom_photo:
          type: string(50)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        ordre:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          default: '1'
          notnull: true
          autoincrement: false
        id_bijou:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Bijou:
          local: id_bijou
          foreign: id_bijou
          type: one
    Merci pour ton aide

  4. #4
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Bonjour,

    Ta classe Bijou.class.php dans lib/model/... renvoit-elle une valeur?

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Ton shema à la "norme" doctrine-symfony
    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
     
    Bijou:
      connection: doctrine
      tableName: bijou
        nom_bijou:
          notnull: true
     
    Photo:
      connection: doctrine
      tableName: photo
      columns:
        nom_photo:
          type: string(50)
          notnull: true
        ordre:
          type: integer(4)
          default: '1'
          notnull: true
        bijou_id:
          type: integer
          notnull: true
      relations:
        Bijou:
          foreignAlias: photos
    • Si rien n'est précisé, l'Id est automatiquement générée et s'appelle Id de type integer, auto-incrémenté et primarikey
    • Il est inutile de préciser les valeurs par défaut
    • un champ de liaison c'est le nom de la table suivi de _id
    • La liaison se fait toujours d'un seul côté, en général du côté "n" dans une liaison "1-n". La liaison par défaut est de type 1-n donc rien à indiquer et le local par défaut est <nomDeLaClasse>_id rien a indiquer ici, le nom du champ de l'autre côté est "Id", toujours rien à indiquer ici. Seul reste le nom de la relation vu de l'autre côté de la relation, donc depuis bijou on récupèrera les photos par "$bijou->getPhotos()" le "s" en fin de photo est un mémotechnique qui permet d'indiquer que la méthode retourne ici un doctrine_collection. A l'opposé de la relation on récupère le bijou d'une photo par $photo->getBijou() qui retourne un sfDoctrineRecord soit un seul enregistrement, logique, et pas de "s".

    Avec ce schéma tu ne devrais plus avoir de problème.
    Le problème chez toi venait de la double définition de liaison incompatibles entres elles.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    En effet ca marche correctement. On m'a mal indiqué la création de clés étrangères, mais maintenant je comprend mieux.
    Je vais en profiter pour refaire tout mon schéma, il y a du boulot...

  7. #7
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    S'il n'est pas trop grand, dépose le pour une rapide relecture.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    J'ai réussi à tout changer comme il fallait, je pense que c'est bon. Merci quand même

  9. #9
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut

Discussions similaires

  1. [1.x] erreur "no description for object of class" ?
    Par symfony30000 dans le forum Symfony
    Réponses: 3
    Dernier message: 16/03/2010, 10h41
  2. Réponses: 3
    Dernier message: 05/04/2007, 10h05
  3. Réponses: 3
    Dernier message: 19/10/2006, 21h51
  4. Réponses: 19
    Dernier message: 19/07/2005, 07h29

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