lundi 1 novembre 2010

[SYMFONY] SQLSTATE[42s22] Erreur 1054 = SOLUTION

Bonjour,
Si vous tombez sur ce message, c'est probablement qu'il vous est arrivé cette erreur :


J'ai pour ma part eu ce problème et j'ai réussi à m'en sortir malgré le fait que je ne comprenne pas vraiment la base du problème. Aussi, ne maitrisant pas cette erreur, je ne vous donne pas la solution mais UNE solution qui a fonctionné pour moi mais qui ne fonctionnera peut être pas chez vous.

Voici mon contexte :

J'utilise :


  • Linux Ubuntu 10.10
  • PHP 5.3
  • Apache 2
  • Mozilla Firefox & Google Chrome
  • Doctrine
Jusqu'içi, rien d'étonnant. Le problème surgit lorsque je créé des tables i18n, c'est à dire lorsque je fais ce type de schema.yml

actAs:
    I18n:
      fields: [title]


L'erreur n'arrive pas toujours. Très étonnant, parfois, sur la même application, pour 2 pages quasiment similaires, l'une déclenche l'erreur et l'autre non.

C'est à rendre fou !

J'ai remarqué que cela plantait sur des requêtes tapant sur des tables traduites. C'est comme si Doctrine ne faisait pas la jointure et ne trouvait pas la traduction. J'ai trouvé par hasard un moyen pour "colmater" la brêche, le voici :

Il m'est parfois apparu cette erreur sur une requête ou j'écrivais le nom du modèle en minuscule.

J'ai du modifier le nom de modèle en insérant une majuscule en première lettre comme ceci.

J'ai eu le problème inverse, ayant mis le nom de la classe avec la première lettre en majuscule, j'ai du mettre tout en minuscule. Je ne comprends pas forcément de quoi ca peut venir et surtout si vous pensez savoir, dites le moi, j'aimerais beaucoup comprendre cette histoire là.
En tout cas, ca fonctionne pour moi, j'espère que ca fonctionnera pour vous aussi.

Aucun commentaire:

Enregistrer un commentaire

Bonjour,