Jos*_*osh 5 php laravel laravel-4
我正在使用Laravel 4,我有一个显示帖子的页面,例如example.com/posts/1显示了db的第一篇帖子.
如果有人试图转到不存在的网址,我想要做的是将网页重定向到索引.
例如,如果没有第6号帖子,那么example.com/posts/6应该重定向到example.com/posts
这就是我所拥有的,它是否在轨道上?
public function show($id)
{
$post = $this->post->findOrFail($id);
if($post != NULL)
{
return View::make('posts.show', compact('post'));
}
else
{
return Redirect::route('posts.index');
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢 :)
小智 10
正如Rob解释的那样,您需要执行以下操作:
在文件的顶部:
use Illuminate\Database\Eloquent\ModelNotFoundException;
Run Code Online (Sandbox Code Playgroud)
然后在你的show($ id)方法中:
try
{
$post = $this->post->findOrFail($id);
return View::make('posts.show', compact('post'));
}
catch(ModelNotFoundException $e)
{
return Redirect::route('posts.index');
}
Run Code Online (Sandbox Code Playgroud)