Können wir einen einzigen Controller für mehrere Routen haben, und erhalten Sie den Parameter?Laravel - mehrere Ressourcen Routen zu einem einzigen Controller mit Argument
Derzeit habe ich diese Routen:
Route::resource('/customers', 'CustomerController');
Route::resource('/agents', 'AgentController');
Und ein CustomerController
und AgentController
mit allen Arbeitsressourcenfunktionen.
Aber als CustomerController
und AgentController
sind fast die gleichen mit Ausnahme für ein Datenbankfeld, d.h. group_id
. Ich dachte, ein Controller heißt PartyController
und eine Route zu verwenden, wie:
Route::resource('/parties/customers', 'PartyController ');
Route::resource('/parties/agents', 'PartyController ');
oder wenn jemand schlägt vor:
Route::resource('/parties/{group}', 'PartyController ');
Ich habe für eine Weile gesucht, aber es schwer, diesen Weg zu beschreiten. Ich habe diesen Code im Konstruktor von PartyController
, hinzugefügt, um die Berufung Route zu überprüfen:
$path = Request::capture()->path();
$this->group = ucwords(explode("/", $path)[1]);
echo($this->group);
Alles scheint bis hier gut zu laufen. Aber wenn in meinem index.blade.php
, ich habe diese Aussage:
<p>{{ link_to_route('parties.create', 'Add new') }}</p>
Ich erhalte eine Ausnahme:
Route [parties.create] not defined.
ich mehrere Kombinationen versucht haben, ohne Erfolg und mehr Fehler kommen durch, wie den Zugriff auf /parties/customers/create
doesn Ich arbeite jetzt nicht.
Also, ist es irgendwie möglich oder sollte ich diese Idee aufgeben?
EDIT: Meine Frage unterscheidet sich von Same Laravel resource controller for multiple routes, da ich kein Merkmal verwende.
ein weiterer tumbleweed !!! aber ich denke, ich habe das Problem gelöst ... – Khan
Mögliches Duplikat von [Same Laravel Resource Controller für mehrere Routen] (https://stackoverflow.com/questions/46128476/same-laravel-resource-controller-for-multiple-routes) – sepehr