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 26/10/2011, 13h20   #1
Membre du Club
 
Avatar de yochima
 
Inscription : août 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 93
Points : 42
Points : 42
Par défaut requete sur une table I18n

Je me retourne vers vous pour un problème plus simple cette fois :p
J'ai un menu dans mon layout qui se genere grace à une requete :

Code :
$advise_parts = Doctrine_Core::getTable('AdvisePart')->findAll();
j'ai la structure suivante:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
AdvisePart:
   actAs:
     I18n:
       fields: [label]
   columns:
     id:
       primary: true
       type: integer
       autoincrement: true
     label:
       type: string(255)
       notnull: true
le routing suivant:
Code :
1
2
3
4
 
advisePart:  
url: /:sf_culture/advisePart
param: { module: advisePart, action: index }
lorsque je tape l'url : http://domaine/frontend/en/advisePart/show/id
ça me dit :
Citation:
Action "en/advisePart" does not exist.
lorsque je tape l'url : http://domaine/frontend/advisePart/show/id
ça me dit :
Citation:
SQLSTATE[42703]: Undefined column: 7 ERROR: column a.label does not exist
LINE 1: SELECT a.id AS a__id, a.label AS a__label FROM advise_part a
^. Failing Query: "SELECT a.id AS a__id, a.label AS a__label FROM advise_part a"
Par contre si je n'essaye pas de rentrer dans mon module advisePart, mon menu se charge comme il faut.
si je met en commentaire ma requete, je peux aller dans mon module advisePart (mais dans ce cas mon menu ne se genere plus).
Mon but est de pouvoir fair un Show sur un advisePart tout en gardant mon menu généré.

PS: je n'ai ce probleme que depuis que j'ai passé ma table en I18n

merci de votre aide
yochima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 14h12   #2
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Le behavior i18N de symfony étend celui de Doctrine.

Tu trouveras des informations précieuses sur ces comportements ci-dessous :

http://www.symfony-project.org/book/...-I18n-and-L10n
http://www.doctrine-project.org/docu...behaviors:i18n

En fait, pour pouvoir utiliser le routing i18N, tu dois tout d'abord l'activer au niveau de la configuration générale de ton application.

Ensuite, tu dois définir, un paramètre obligatoire dans ta route :

Code :
1
2
3
4
5
 
advisePart:  
  url: /:sf_culture/advisePart
  requirements: { sf_culture: (?:fr|en|de) }
  param: { module: advisePart, action: index }
Il ne faut pas oublier, de régénérer le cache...

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 14h56   #3
Membre du Club
 
Avatar de yochima
 
Inscription : août 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 93
Points : 42
Points : 42
Tout d'abord, merci pour ton temps

en ce qui concerne d'implementer I18n partout dans mon appli, c'est deja fait.
j'ai suivi à la lettre le tuto du jour 19 de symfony :
http://www.symfony-project.org/jobee...Doctrine/fr/19

mes traductions fonctionnent, et pour tout dire j'en suis à ma 2eme application :p

ton deuxieme lien est tres interessant, j'ai modifié ma requete pour que ça ressemble à ce que tu m'as suggéré et voila a quoi elle ressemble :

Code :
1
2
3
4
5
 
$advise_parts = Doctrine_Query::create()
  ->from('AdvisePart a')
  ->leftJoin('a.Translation t')
  ->execute();
cette requete me renvois l'erreur suivante :
Citation:
Unknown relation alias Translation
pourtant j'ai bien une table AdvisePartTranslation qui s'est créée dans ma base de donnée.

Peut être que cette erreur te parle plus à toi qu'à moi.
yochima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 15h19   #4
Membre du Club
 
Avatar de yochima
 
Inscription : août 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 93
Points : 42
Points : 42
Apres une documentation rapide, j'aurais peut etre un probleme au niveau du schema.yml pour cette table. Ma syntaxe (voir ci dessus) serait-elle fausse?

Car il est vrai que c'est depuis que j'ai touché la structure de ma table (deja existante auparavant) que cela ne marche plus.
yochima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 09h42   #5
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Aurais-tu un message d'erreur lorsque tu mets à jour ton modèle ?

Code :
1
2
3
4
5
6
 
 
php symfony build-model
php symfony build-forms
php symfony build-filters
php symfony cc
Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 09h50   #6
Membre du Club
 
Avatar de yochima
 
Inscription : août 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 93
Points : 42
Points : 42
Arf, non je n'ai pas d'erreurs pour chacune de ces commandes :/

ça veut dire que mon modele est correct je suppose ...
zut ^^
yochima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 10h13   #7
Membre du Club
 
Avatar de yochima
 
Inscription : août 2009
Messages : 93
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 93
Points : 42
Points : 42
Bon alors....

Comment expliquer ça ....

dans mon action executeShow() il y avait écrit :
Code :
Doctrine_Core::getTable('AdvisePArt')
alors qu'il devait y avoir
Code :
Doctrine_Core::getTable('AdvisePart')
Ben oui j'avais un PArt au lieu d'un Part.
C'est stupide je sais ....

Merci à mathieu44800 pour son temps et son aide précieuse.

Cordialement
Yochima
yochima est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web