Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2011, 14h29   #1
Invité régulier
 
Inscription : juin 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 29
Points : 7
Points : 7
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
Ploupi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2011, 22h05   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 17h33   #3
Invité régulier
 
Inscription : juin 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 29
Points : 7
Points : 7
Bonjour,

Voici la partie schema.yml :

Code :
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
Ploupi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 18h32   #4
Membre éclairé
 
Avatar de roster
 
Inscription : décembre 2008
Messages : 399
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 399
Points : 352
Points : 352
Bonjour,

Ta classe Bijou.class.php dans lib/model/... renvoit-elle une valeur?
roster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 08h33   #5
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Ton shema à la "norme" doctrine-symfony
Code :
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.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 15h54   #6
Invité régulier
 
Inscription : juin 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 29
Points : 7
Points : 7
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...
Ploupi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 16h25   #7
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
S'il n'est pas trop grand, dépose le pour une rapide relecture.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 16h31   #8
Invité régulier
 
Inscription : juin 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 29
Points : 7
Points : 7
J'ai réussi à tout changer comme il fallait, je pense que c'est bon. Merci quand même
Ploupi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 19h45   #9
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web