Kann die route-Modells verbindlich eingesetzt werden mit RESTful-Controller?

Ich habe mit RESTful Controller in meinem Laravel Projekt. Durch einschließlich:

Route::controller('things', 'ThingController')

in meinem routes.php ich kann Funktionen definieren, die in der ThingController wie:

public function getDisplay($id) {
    $thing = Thing::find($id)
    ...
}

so, dass Immer die URL "...Dinge/display/1" würde automatisch weitergeleitet werden, um die controller-Funktion. Dies scheint ziemlich einfach und funktioniert bestens für mich so weit.

Bemerkte ich viele meiner controller-Funktionen beginnen immer mit einer Modell-id aus der url, und ich dachte, es wäre schön, in der Lage sein zu verwenden route-Modell verbindlich, dies zu tun für mich. Also ich aktualisiert meine routes.php zu

Route::model('thing', 'Thing');
Route::controller('things', 'ThingController')

verändert und die ThingController Funktionen

public function getDisplay($thing) {
    ...
}

Bin ich davon ausgegangen, dies würde auf Magische Weise funktioniert, wie ich wollte, dass es (wie alles andere, was ich bisher ausprobiert habe in Laravel hat), aber leider bekomme ich "Trying to get property of non-object", wenn ich versuche zu verwenden $thing in der Funktion. Ist dies etwas, das sollte sein in der Lage zu arbeiten und ich gerade gemacht haben, ist es falsch, oder kann die route-Modell nur verbindlich, arbeiten mit Routen explizit benannt routes.php?

InformationsquelleAutor Don't Panic | 2014-06-24
Schreibe einen Kommentar