Laravel-modules: Resource Controller

Created on 11 Sep 2017  路  3Comments  路  Source: nWidart/laravel-modules

When I use php artisan route:list

//Laravel normal resource route and controller

|    | GET|HEAD      | users/{user}           | users.show      | UserController@show           | admin |

|    | PUT|PATCH   | users/{user}            | users.update   | UserController@update        | admin |

|    | DELETE          | users/{user}            | users.destroy  | UserController@destroy       | admin |

|    | GET|HEAD      | users/{user}/edit    | users.edit        | UserController@edit              | admin |

//Larvel-Modules package resource route and controller

|    | DELETE         |Customers/{}            | destroy        | CustomersController@destroy      | admin  |
|    | PUT|PATCH  | Customers/{}           | update         | CustomersController@update        | admin |
|    | GET|HEAD     | Customers/{}          | show            | CustomersController@show           | admin |
|   | GET|HEAD      | Customers/{}/edit   | edit              | CustomersController@edit            | admin |

Missing ID var and routes names have to be customers.* , my issue when I request SHOW then I get 404 error.

//Larvel-Modules package resource route and controller

| | GET|HEAD  | PhantomStock                 | PhantomStockindex    | PhantomStockController@index     | admin |
| | POST          | PhantomStock                 | PhantomStockstore      | PhantomStockController@store     | admin |
| | GET|HEAD      | PhantomStock/create | PhantomStockcreate    | PhantomStockController@create          | admin |
| | PUT|PATCH     | PhantomStock/{}       | PhantomStockupdate   | PhantomStockController@update | admin |
| | DELETE        | PhantomStock/{}           | PhantomStockdestroy  | PhantomStockController@destroy  | admin |
| | GET|HEAD      | PhantomStock/{}        | PhantomStockshow       | PhantomStockController@show            | admin      |
| | GET|HEAD      | PhantomStock/{}/edit | PhantomStockedit         | PhantomStockController@edit            | admin |

Missing IDs var and the routes names have no . between entity and action. my issue here when I request EDIT then I get 404 erorr.

I used php artisan module:make Customers
I used php artisan module:make PhantomStock

I modified start.php

if (!app()->routesAreCached()) {
    require __DIR__ . '/Routes/web.php';
    require __DIR__ . '/Routes/api.php';
}

web route

Route::group(['middleware' => 'admin', 'prefix' => 'PhantomStock','as' => 'PhantomStock', 'namespace' => 'Module\PhantomStock\Http\Controllers'], function()
{
    Route::resource("/","PhantomStockController");
});

Could you help in this?

Most helpful comment

I know this issue is old, but the following worked for me:

Route::resource("/","PersonController")->parameter('', 'person');

| GET|HEAD | api/person/{person} | api.person.show | ...\PersonController@show | api,auth:api |

All 3 comments

there was already an issue for this here. If I remember correctly it was due to a wrongly setup resource. Please make sure you follow the laravel docs.

ie Route::resource('photos', 'PhotoController'); and not Route::resource('', 'PhotoController');

I know this issue is old, but the following worked for me:

Route::resource("/","PersonController")->parameter('', 'person');

| GET|HEAD | api/person/{person} | api.person.show | ...\PersonController@show | api,auth:api |

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dang-tien picture dang-tien  路  3Comments

djoudi picture djoudi  路  4Comments

Levivb picture Levivb  路  4Comments

abiodunjames picture abiodunjames  路  5Comments

ghost picture ghost  路  4Comments