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 21/06/2011, 08h53   #1
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
Par défaut Admin Generator Unknown record property

Bonjour,

Relativement nouveau à symfony, j'utilise l'admin generator. Lorsque je génère mes modules du backend, pas de soucis. Mais lorsque que j’accède un un module (entre autre /souspage) symfony me dit que Unknown record property / related component "souspage_image01_titre" on "Souspage"

Or, d’après le schéma ci-joint, c'est souspage_image_01_titre, il manque un underscore, mais le schéma est bon, et mon frontend finit.

Des idées pour débuggué, j'en est pas la moindre là o_O

mon shchéma.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
Page:
  connection: doctrine
  tableName: page
  columns:
    id:
      type: integer(4)  
      primary: true
      autoincrement: true
    page_nom:
      type: string()   
      notnull: true 
    page_titre:
      type: string()   
      notnull: true 
 
#	  [...}
 
Souspage:
  connection: doctrine
  tableName: souspage
  columns:
    id:
      type: integer(4)  
      primary: true
      autoincrement: true
    page_id:
      type: integer(4)   
      notnull: true 
    souspage_titre:
      type: string()   
      notnull: true 
    souspage_description:
      type: string()   
      notnull: true 
    souspage_image:
      type: string()   
      notnull: true 
    souspage_image_01_titre: { type: string(1000), notnull: true }
    souspage_image_01_lien: { type: string(), notnull: true }
 
    souspage_image_02_titre: { type: string(1000), notnull: true }
    souspage_image_02_lien: { type: string(), notnull: true }
 
#	[...]
 
	  relations:
    Page:
      local: page_id
      foreign: id
      type: one

Pour le reste, mon frontend marche sans soucis... je présume que symfony n'aime pas trop le _01_

Voila merci
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 09h22   #2
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
C'est un conflit de nom je pense, les _ avant les chiffres et nombres lèvent cette exception à cause du parser de nom de Doctrine.
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 10h20   #3
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
des idées pour ressource le conflit ? je refait la bdd en gardant souspage_image01_titre sa passe ?

Ou il y a peut-être une option pour faire en sorte que l'exception soit levé...
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h41   #4
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Refaire la BD, je vois que ça personnellement.
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 09h18   #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
Schéma nettoyé "à ma façon" devrait marché si tu t'en inspires pour le reste.
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
#shema.yml partiel (non testé)
Page:
  tableName: page
  columns:
    page_nom:
      type: string
      notnull: true 
    page_titre:
      type: string
      notnull: true 
 
#	  [...]
 
Souspage:
  tableName: souspage
  columns:
    page_id:
      type: integer  
      notnull: true 
    souspage_titre:
      type: string  #idéalement string(30) par exemple
      notnull: true 
    souspage_description:
      type: string
      notnull: true 
    souspage_image:
      type: string
      notnull: true 
    souspage_image_01_titre: 
      type: string(1000)
      notnull: true
    souspage_image_01_lien: 
      type: string
      notnull: true
 
# Il faut éviter string seul, il vaut mieux lui donner une longueur.
 
#	[...]
 
#JAMAIS de tabulation dans un fichier YAML
  relations:
    Page:
      foreignAlias: Souspages
__________________
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 22/06/2011, 09h32   #6
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
Désolé de pas avoir prévenue hier soir,

La tabulation c'est lors du collage

Pour le schéma, j'ai mis souspage_image01_titre, sa marche.

En passant, je n'arrive pas a faire les tris manuels sur le module Page, alors que sur les autres pas de problème.
Quand j'applique un filtre du style :
Code :
 $this->setFilters(array('page_nom' => 'Accueil'));
il ne fait pas le tris, de même avec un id etc etc.

Des idées ?

EDIT : j'ai modifié le schéma pour ajouter une limite du style titre : string(100) partout, sauf pour les liens.
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 13h51   #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
Je ne vois pas trop comment setFilter pourrait faire des tris ???
__________________
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 22/06/2011, 14h02   #8
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
pardon, pas des tris, des filtres...
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 16h37   #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
Quel est le contexte de $this dans ton code ?

Que fait la méthode setFilters ? A priori, elle ne fait pas partie de l'API...
__________________
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 22/06/2011, 16h40   #10
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
Dans l'admin generator, $this fait référence par exemple à
Code :
1
2
3
4
5
6
7
    public function executeNew(sfWebRequest $request)
    {
        //Modification de _form_field.php
        $this->form = $this->configuration->getForm();
        $this->souspage = $this->form->getObject();
 
    }
pour setFilters, sa viens de http://www.symfony-project.org/refer...dmin-Generator Personnalisation des actions
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 16h57   #11
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
C'est une des méthodes internes aux modules auto-généré.

Tu n'as pas accès à ce code, sauf à "tuer" partiellement la partie auto généré et à en faire une partie à la main.

Ceci explique aussi que cette méthode ne fasse pas partie de l'API de symfony.

Que veux-tu exactement faire dans cette galère (heu, ce CRUD !) ?
__________________
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 22/06/2011, 17h41   #12
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
ce qui est marrant, c'est que si je fait un setFilters sur d'autre page, sa marche.

Alors que spécifiquement sur celle-là : nada.

A la base, je voulais pouvoir passer un filtre par un lien de manière a pouvoir faire un menu plus complets. Mais au bout de compte, j'ai changé de méthode.
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 08h56   #13
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
Et tu te sert d'un CRUD auto généré pour récupérer les données de ton menu
__________________
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 23/06/2011, 08h59   #14
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
d'un component pour le menu, mais en dure pour l'interface admin.
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h02   #15
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
Et une bête requête en DQL dans le corps de ton componment ?
__________________
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 23/06/2011, 09h08   #16
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
hmm je vois pas où tu veux en venir o_O

Le menu est fixe, je veux juste pouvoir appliquer des filtres sur mes pages générées... j'ai réussie sur toutes sauf sur celle "Page".
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h13   #17
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
J'avais compris que tu te servait d'une partie du code auto-générer pour personnaliser l'affichage de ton menu.

Dans ton cas, le plus simple serait, peut-être, de formater une URL en GET avec les paramètres à prendre en compte pour ton filtre. C'est ainsi que je le ferais. Avec l’inconvénient que l'utilisateur, une fais dans son formulaire, peut, alors, modifier ton filtre.
__________________
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 23/06/2011, 09h15   #18
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
c'est ce que j'avais met, mais on en revient au même soucis, le setFilters e s'applique pas...

Enfin sinon, l'admin générator est vraiment super pratique a utilisé, on copie le cache dans les templates et on peut faire ce que l'on veut en jQuery
hugo_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h30   #19
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 ne vois pas trop pourquoi, si tu génères un GET, les filtres ne s'afficheraient pas.

Vérifies le GET généré. Compares le à un GET qui ce génère depuis le CRUD.

Perso, je préfère faire mon CRUD entièrement, en fin de compte, je suis plus souple et plus rapide qu'à me taper le c.l par terre pour configurer ce truc dans tous les sens.
__________________
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 23/06/2011, 09h33   #20
Invité régulier
 
Homme Hugo Gresse
Développeur Web Etudiant
Inscription : avril 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Hugo Gresse
Localisation : France

Informations professionnelles :
Activité : Développeur Web Etudiant

Informations forums :
Inscription : avril 2011
Messages : 34
Points : 5
Points : 5
Envoyer un message via Skype™ à hugo_dev
ok michel.

J'utilisais sa car j'avais pas encore beaucoup d'experience dans symfony, et en deux jours, si tu fait rien de spécial, tu fait le CRUD à 100%.

Je testerai surement un jour le CRUD perso.
hugo_dev 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 22h41.


 
 
 
 
Partenaires

Hébergement Web