This helper extends the standard set of resource routing methods to work with SoftDeletes and other extends.
| Laravel | PHP | Extended Routes Version |
|---|---|---|
| 7, 8, 9, 10 | 7.3, 7.4, 8.0, 8.1, 8.2 | ^3.0 |
| 10, 11 | 8.1, 8.2, 8.3 | ^4.0 |
To get the latest version of Extended Routes, simply require the project using Composer:
$ composer require dragon-code/extended-routesInstead, you may of course manually update your require block and run composer update if you so choose:
{
"require": {
"dragon-code/extended-routes": "^4.0"
}
}- In your
composer.jsonfile, replace"andrey-helldar/extended-routes": "^2.0"with"dragon-code/extended-routes": "^3.0". - Replace the
Helldar\ExtendedRoutesnamespace prefix withDragonCode\ExtendedRoutesin your app; - Run the
command composerupdate. - Profit!
use DragonCode\ExtendedRoutes\Routing\ModelBindingResolver;
use DragonCode\ExtendedRoutes\Traits\ExtendedSoftDeletes;
class Page extends Model
{
use ExtendedSoftDeletes;
}use DragonCode\ExtendedRoutes\Models\ExtendedSoftDeletes;
//use Illuminate\Database\Eloquent\SoftDeletes;
class Foo extends ExtendedSoftDeletes
{
//use SoftDeletes; << need to remove conflicting trait.
}app('router')->apiRestorableResource('foos', 'FoosController');
// or
Route::apiRestorableResource('foos', 'FoosController');Referencing is also available:
use App\Http\Controllers\FoosController;
app('router')->apiRestorableResource('foos', FoosController::class);
// or
Route::apiRestorableResource('foos', FoosController::class);| Method | URI | Name | Action | Middleware |
|---|---|---|---|---|
| GET/HEAD | api/foos | foos.index | App\Http\Controllers\FoosController@index | api |
| POST | api/foos | foos.store | App\Http\Controllers\FoosController@store | api |
| GET/HEAD | api/foos/trashed | foos.trashed | App\Http\Controllers\FoosController@trashed | api |
| GET/HEAD | api/foos/{foo} | foos.show | App\Http\Controllers\FoosController@show | api |
| PUT/PATCH | api/foos/{foo} | foos.update | App\Http\Controllers\FoosController@update | api |
| DELETE | api/foos/{foo} | foos.destroy | App\Http\Controllers\FoosController@destroy | api |
| POST | api/foos/{foo}/restore | foos.restore | App\Http\Controllers\FoosController@restore | api |
This package is licensed under the MIT License.
This package was written with the participation of Maksim (Ellrion) Platonov under MIT License.