Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel路由参数约束_Php_Laravel_Laravel 5_Routing_Constraints - Fatal编程技术网

Php Laravel路由参数约束

Php Laravel路由参数约束,php,laravel,laravel-5,routing,constraints,Php,Laravel,Laravel 5,Routing,Constraints,我一直在做一个漂亮的小项目。我使用的是Laravel5.5,我正在构建路由来处理各种请求。我有一条路线,它接受一个slug,通过路线模型绑定来定位一个特定的公会。很好!实际上,很漂亮。然后,我定义了一个“静态”路由,它不使用参数来显示创建新公会的表单。这是路线 Route::get('/guilds', 'GuildController@index')->name('guilds'); Route::get('/guild/{guild}', 'GuildController@show')

我一直在做一个漂亮的小项目。我使用的是Laravel5.5,我正在构建路由来处理各种请求。我有一条路线,它接受一个slug,通过路线模型绑定来定位一个特定的公会。很好!实际上,很漂亮。然后,我定义了一个“静态”路由,它不使用参数来显示创建新公会的表单。这是路线

Route::get('/guilds', 'GuildController@index')->name('guilds');
Route::get('/guild/{guild}', 'GuildController@show')->name('guild');
Route::get('/guild/create', 'GuildController@create')->name('create_guild');
Route::get('/guild/{guild}/edit', 'GuildController@edit')->name('edit_guild');
Route::post('/guild/create', 'GuildController@store')->name('store_guild');

但当我尝试导航到“/guild/create”时,我得到了一个404,因为不存在带有slug“create”的公会。如何解决此问题?

请尝试将特定路线放在第一位:

Route::get('/guilds', 'GuildController@index')->name('guilds');
Route::get('/guild/create', 'GuildController@create')->name('create_guild');
Route::post('/guild/create', 'GuildController@store')->name('store_guild');
Route::get('/guild/{guild}', 'GuildController@show')->name('guild');
Route::get('/guild/{guild}/edit', 'GuildController@edit')->name('edit_guil');