路由绑定两个参数,有更好的写法么?

我想实现文章页面的URL是 文章分类名/文章ID
看了文档里路由的那一章节,目前的写法是

路由

Route::get('{category}/{post}','PostsController@show')->name('post.show');

控制器

    public function show($categorySlug,$postId)
    {
        $post = Post::find($postId);
        if(! empty($post) && $categorySlug == $post->category->slug){
            return view('post.show',compact('post'));
        }else{
            return '404';
        }
    }

有没有更好的写法啊?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
GDDD

https://laravelacademy.org/post/7769.html
这样写真的方便吗?

5年前 评论

@GDDD 我这么写肯定是笨方法 = = 。 看了文档没理解要怎么去用。

5年前 评论

@圣堂刺客 现在呢?有没有改进的方法了

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!