Ron*_*den 3 php routing laravel
因此,我调用了一个资源控制器,ProjectController并添加了软删除并将其用作存档。
Route::get('project/archive', 'ProjectController@trash')->name('project.archive');
Route::resource('project', 'ProjectController');
Run Code Online (Sandbox Code Playgroud)
在这个档案中,我有一个项目列表。
public function trash()
{
$projects = Project::onlyTrashed()->get();
return view('projects.archive', compact('projects'));
}
Run Code Online (Sandbox Code Playgroud)
现在我想用show方法查看这些项目。
在我的\App\Providers\RouteServiceProvider我补充说:
Route::bind('project', function ($value) {
return \App\Project::withTrashed()->find($value);
});
Run Code Online (Sandbox Code Playgroud)
但是这样,我就可以编辑项目。
我试图绑定project/show, project/{project}/show,但这不起作用。
如何show在垃圾项目上使用我的资源控制器的方法?
我完整的 ProjectController 看起来像:
Route::get('project/archive', 'ProjectController@trash')->name('project.archive');
Route::resource('project', 'ProjectController');
Run Code Online (Sandbox Code Playgroud)
通过在\App\Providers\RouteServiceProvider.
Route::bind('project', function ($value) {
if (Route::currentRouteName() === 'project.show') {
return \App\Project::withTrashed()->find($value);
}
return \App\Project::find($value);
});
Run Code Online (Sandbox Code Playgroud)
希望这会帮助其他人。
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |