2010-11-28 7 views
0

Wie soll ich eine Lehre 2 Modell Tabellenzeile Variablennamen (zB url-name ist der Tabellenzeile Namen) und ich versuchte es mit, dass:Doktrin 2 Modell: Wie setze Tabellennamen mit "-" drin?

/** @Column(name="url-name", type="string") */ 
private $urlName; 

// or I tried also 

/** @Column(name="`url-name`", type="string") */ 
private $url_name; 

Aber es holt nicht die $ urlName Zeile (diese Zeile Ergebnis ist leer, aber andere Zeilen/der Rest wird korrekt abgerufen).

Antwort

0

Sie können kein Minuszeichen als Teil des Spaltennamens verwenden. Werfen Sie einen Blick auf diese Abfrage:

SELECT url-name ... 

Es subtrahieren Namen von URL bedeutet nur, wie price * tax durch Steuer multiplizieren Preis bedeutet. Verwenden Sie _ anstelle von -.

+1

Warum kann ich Minuszeichen nicht als Teil des Spaltennamens verwenden? Ich muss in '\' \ '' dann sollte es z. 'SELECT \' URL-Name \ 'FROM ...' BTW. siehe Update in Code über – Poru

+0

Ich glaube nicht, dass es ein Doktrinproblem ... mehr wie Crozin erwähnt, es ist nur Standardbenennung .. nicht um Zeichen wie "* -" zu verwenden, stattdessen verwenden Sie "_", die gut funktionieren sollte. Selbst wenn Sie '' das ist richtig setzen, wenn Sie die Abfrage ausführen, wird die Datenbank-Engine einen Fehler – allenskd

+0

zurückgeben Der einzige Unterschied zwischen 'url_name',' urlName' oder 'url-name' ist seine Ästhetik. Und ja, persönlich denke ich auch, dass "URL-Name" hübscher aussieht als "URL-Name", aber das erste Formular ist nur ungültig. Die Verwendung von Backquotes ('' in Oracle, [] in MSSQL usw.) ist die schlechteste Problemumgehung. Auch ... du benutzt Doctrine, also was ist der Unterschied? Sie werden wahrscheinlich immer an Doctrine Schema mit 'URLName' arbeiten. – Crozin

Verwandte Themen