Laravel 使用段塞和id(破折号分隔)进行布线?

Laravel 使用段塞和id(破折号分隔)进行布线?,laravel,laravel-routing,Laravel,Laravel Routing,这是我的路线,第一条线坏了。如何修复它?我的软件规范不允许在第一次布线中使用斜杠(/)而不是破折号(-) 对于下面的路由器,样本具有相同的掩码 router->get('{slug}-{id}', 'Controller@method'); router->get('{otherSomething}', 'Controller@method2'); 假设您的其他东西没有以数字结尾,您可以使用,例如,您可以使用如下id定义路线: site.com/slug-name-and-sth-

这是我的路线,第一条线坏了。如何修复它?我的软件规范不允许在第一次布线中使用斜杠(/)而不是破折号(-)

对于下面的路由器,样本具有相同的掩码

router->get('{slug}-{id}', 'Controller@method');
router->get('{otherSomething}', 'Controller@method2');

假设您的
其他东西
没有以数字结尾,您可以使用,例如,您可以使用如下id定义路线:

site.com/slug-name-and-sth-100
site.com/other-something
现在它应该可以工作了。但是,您需要记住将此路线放在路线之前:

$router->get('{slug}-{id}', 'Controller@method')->where('id','[0-9]+');
否则就不行了

编辑

如果两个URL可以具有相同的格式,您应该完全删除
{slug}-{id}
路由,并将
{otherSomething}
的所有流量引导到一个方法中(
method2

现在,您应该解析
$otherSomething
变量并决定应该做什么:

  • 或者您决定它的格式是
    {slug}-{id}
    na您现在可以为此运行服务了
  • 您将为其他情况运行其他服务

您是否遇到错误?因为这应该可以很好地工作。请尝试使用“{id}-{slug}”,而不是“{otherSomething}最后可能有数字,不幸的是:>
$router->get('{otherSomething}', 'Controller@method2');