2014-04-24 4 views
6

In der Datenbank lassen Sie uns sagen, ich habe in der Tabelle meine Benutzers diese Felder: name, favorite_color, created_at, etc ...Rufen wir in einem Laravel Eloquent-Modell Tabellenfeldnamen mit camelCase auf, obwohl sie einen Unterstrich in der db enthalten?

Eloquent Verwendung zu speichern:

1:

$user = new User; 
$user->name = "John"; 
$user->favorite_color = 'blue'; // Notice the underscore 
$user->save(); 

2:

$user = new User; 
$user->name = "John"; 
$user->favoriteColor = 'blue'; // camelCase 
$user->save(); 

Welches der obigen ist richtig?

Antwort

7

Die erste ist die richtige Form. Aber es gibt ein Paket, um Ihnen zu helfen, das zweite zu tun: https://github.com/kirkbushell/eloquence.

+1

Wegen Laraval (und PSR-4) habe ich mich auf camelCase festgelegt ... aber ich war immer noch überrascht, wie widersprüchlich die Dinge sind. Dies ist ein Beispiel. Aber dann gibt es CSS (die Bindestriche verwendet), SQL (verwendet Unterstriche), assoziieren. Array-Indizes, die Daten darstellen, die von db abgerufen werden (wobei ich überzeugt bin, Unterstriche zu verwenden, damit sie mit den tatsächlichen Datenbankfeldern übereinstimmen), URL-Abfrageparameter und Formularelementnamen ... ARGHHH! Aber danke, :-) Ich kann die Antwort annehmen, sobald das Zeitlimit abgelaufen ist. – prograhammer

+0

@DavidGraham meinen Sie PSR-1 Ich denke, psr-4 ist nur zum Autoloading (Nummer fällig) – zwacky

+0

Ich habe immer Unterstreichungen verwendet, ist Camelcase wirklich obligatorisch für PSR-1? – sidneydobber

Verwandte Themen