【发布时间】:2015-09-25 03:23:39
【问题描述】:
我有一个应用程序需要在 RouteServiceProvider.php 中完成此操作:
//in \App\Providers\RouteServiceProvider.php
public function boot(Router $router)
{
//
parent::boot($router);
//somehow can get the current action
$action = $router->getCurrentAction();
if($action == 'edit'){
$router->model('articles','App\Article');
} else{
$router->bind('articles', function($id){
return Article::published()->findOrFail($id);
});
}
}
这是我的路线:
Route::resource('articles', 'ArticlesController');
这是我的控制器:
public function show(Article $article){
return view('articles.show',compact('article'));
}
public function edit(Article $article){
return view('articles.edit',compact(['article','tags']));
}
我之所以要这样做是因为我希望 show 操作仅显示已发布的文章,而 edit 操作可以更改已发布和未发布的文章。
如果有更好的解决方法,请教我。谢谢!
【问题讨论】:
标签: laravel laravel-4 laravel-5 laravel-routing