2016-03-19 1 views
2

Existe-t-il un moyen pour que Propel échappe automatiquement les noms de colonne qui sont des mots réservés lors de l'ajout/mise à jour d'une ligne?Propel Syntaxe Error Reçu lors de l'utilisation de mots-clés réservés dans les noms de table ou de colonne

En ce moment, j'ai une colonne nommée 'ordre' et lorsque je tente de mettre à jour en utilisant

$row->setOrder(1)->save(); 

Je reçois une erreur de syntaxe « PHP Fatal error: Uncaught exception 'PDOException' message « SQLSTATE [42601] : Erreur de syntaxe: 7 ERREUR: erreur de syntaxe à ou près de "commande" \ nLINE 1: termes UPDATE ordre SET = $ 1 WHERE terms.id = $ 2 \ n^'"

Répondre

3

J'ai trouvé la réponse à http://propelorm.org/documentation/reference/schema.html#database-element. L'ajout du paramètre identifierQuoting="true" à ma balise <database> dans mon fichier schema.xml a permis de résoudre le problème. Je crois que vous pouvez également ajouter cela à un tag <table> pour le limiter à une seule table. Je ne suis pas sûr pourquoi ce ne serait pas le réglage par défaut.

+0

Je peux deviner que c'est la règle commune pour tout langage de programmation: n'utilisez pas les mots réservés comme identifiants: o) – Abelisto