您可能希望路由里面的参数都是一种类型的,比如都是数字,或者都是字母,这样我们就不需要单独去限制每一个路由参数的值,可以在全局范围配置一下参数的值的类型 ..
先去掉单独为路由参数限制类型的代码 .. 就是这个 ->where ...
保存一下 .. 然后在 app/Providers 下面 ... 找到 RouteServiceProvider.php .
在这个 RouteServiceProvider 类的 boot 方法里面 .. 可以去设置一下路由参数的类型 .. 使用 $router 的 pattern 方法 .. 这个方法有两个参数 .. 第一个参数是要设置的参数 .. 先设置一下 movie_id 这个参数 .. 第二个参数是它的值的类型 .. 我们让这个 movie_id 只能是数字 .. 用一个 [0-9]+
再用一下这个方法 .. 设置一下其它的参数的类型 .. 把这个 movie_id 换成 review_id .. 保存 ... 到浏览器上试一下 .. movie/1/review/1 .. 没有问题 .. 因为 movie_id 还有 review_id 的参数的值都是数字 ..
这次把 movie_id 的值换成一串字符 .. up ... 这回就不行了 .. 因为我们在全局范围已经限制了 movie_id 这个参数的值的类型只能是数字 ...