Ich habe RESTful controllers in meinem Laravel-Projekt verwendet. Durch die Einbeziehung:Kann die Modellbindung mit RESTful-Controllern verwendet werden?
Route::controller('things', 'ThingController')
in meinem routes.php, kann ich definieren Funktionen in dem ThingController
wie:
public function getDisplay($id) {
$thing = Thing::find($id)
...
}
so, dass immer die URL“... Dinge/Anzeige/1" automatisch sein würde, auf die Controller-Funktion gerichtet. Das scheint ziemlich praktisch zu sein und funktioniert bisher großartig für mich.
Ich bemerkte, dass viele meiner Controller-Funktionen mit dem Abrufen eines Modells nach ID aus der URL begannen, und ich dachte, es wäre schön, route model binding stattdessen für mich verwenden zu können. So aktualisiert ich meine routes.php zu
Route::model('thing', 'Thing');
Route::controller('things', 'ThingController')
und änderte die ThingController
Funktionen
public function getDisplay($thing) {
...
}
Ich nahm diese magische Weise so, wie ich es wollte funktionieren würde (wie alles andere, was ich habe versucht, so weit in Laravel hat) aber leider bekomme ich "Versuch, Eigenschaft von Nicht-Objekt zu bekommen", wenn ich versuche, $thing
in der Funktion zu verwenden. Ist das etwas, was funktionieren könnte und ich es einfach falsch gemacht habe oder Modellbindung nur mit Routen arbeiten kann, die explizit in routes.php benannt sind?