|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
Bonjour ,
J'ai une relation entre des tables dans mon schema qui me permettent de repertorier les elements d'un menu pour une pizzeria , le soucis c'est que dans le backend lorsque je fais new ou edit je récupère bien les noms de mes entree_id salades_id etc .. mais dans list cela ne m'affiche pas les noms mais les id comment faire pour remplacer les id par les nom dans list ? Voici mon schema : Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Niveau schéma, je pense que les tables entree, pizza, desert, boisson... auraient gagnée à être mutualisées.
Pour ton problème, modifie le modèle de l'entité (table) dans li/modelr/doctrine et tu rajoutes une méthode __toString() qui retourne ce que tu veux voir afficher pour l'enregistrement.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
Citation:
<pre> Doctrine_Collection data : Array( 0 : Object(Entree) ) </pre> <pre> Doctrine_Collection data : Array( 0 : Object(Dessert) ) </pre> Normalement cela devrait me retourner les noms je pige plus rien la |
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je ne comprend pas ta demande.
Si tu utilises des widget select, le __toString() est la méthode à utiliser. Si tu utilises autre choser, il va falloir être plus précis dans la demande. Un peu de code qui pose problème, d'où il vient serait aussi intéressant que le message d'erreur qu'il produit.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
En fait , je n'utilise aucun widget en particulier , c'est mon formulaire qui est auto généré dans mon backend et qui me génère un select a cause de mon schéma relationnel.
Lorsque je suis en mode new / edit , je récupère bien les noms associés à mes xxxxx_id grace à la méthode toString getnom (avec nom un champ de ma table ). Le soucis est qu'en mode List ( donc generator.yml ) quand j'affiche dans mon display xxxxx_id je ne récupère que l'id la méthode __toString n'étant pas prise en compte , j'ai verifié dans le Jobeet et c'est tout à fait normal. Donc j'utilise les alias comme dans le jobeet afin d'y afficher les noms associés , hors au lieu d'obtenir les noms j'obtient : <pre> Doctrine_Collection data : Array( 0 : Object(Entree) ) </pre> <pre> Doctrine_Collection data : Array( 0 : Object(Dessert) ) </pre> J'espère que tu pourra m'aider |
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu peux mettre ton generator.yml ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
Je te repose aussi mon schema : Code :
Code :
|
||||
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
De mémoire, cette méthode ne fonctionne que pour les listes où les colonnes sont regroupées dans une cellule.
Si non il doit être possible d'utiliser des partials.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
Peut tu me donner un exemple ?
|
|
|
00
|
|
|
#10 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu as un exemple ici.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 38 ![]() |
Malheuresement ca ne m'aide pas , sur le frontend j'aurais juste fait un foreach sur la doctrine_collection et j'aurais récupéré facilement l'objet en cours mais la avec du generator et du schema je vois pas -_-
|
|
|
00
|
|
|
#12 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je n'ai pas d'application sous la mains...
Regarde dans ton cache, tu as une arbo qui ressemble à celle de ton application. Notamment tu vas y trouver ton module auto-généré (si non, lance le et retourne dans le cache). Regarde les templates, le template qui affiche la liste. Repère le nom de l'objet et réutilise le. Désolé pour la réponse précédente, mais j'étais parti sur l'affichage d'un form. Si non, il est aussi possible de changer le nom de la méthode du modèle qui retourne le données. Et donc de changer les données retournées. Et donc de retourner ce que tu veux. Donc tu peux directement retourner le nom des plats. C'est aussi une autre solution.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com