Je résous par
Créez un fichier de routeur personnalisé qui étend le BaseRouter
// src/app/Custom/Router.php
<?php
namespace App\Custom;
use Illuminate\Routing\Router as BaseRouter;
use Illuminate\Support\Str;
class Router extends BaseRouter
{
public function customResource($name, $controller, array $options = [])
{
$model = Str::singular($name); // this is optional, i need it for Route Model Binding
$this
->get( // set the http methods
$name .'/{' . $model . '}/audit',
$controller . '@audit'
)->name($name . '.audit');
return $this->resource($name, $controller, $options);
}
}
Alors inscrivez-vous sur src/bootstrap/app.php
$app->singleton('router', function ($app) {
return new \App\Custom\Router($app['events'], $app);
});
Et l'utiliser dans /routes/web.php
Route::customResource(
'entries',
'EntryController'
);