Php Laravel 5.1 Route::控制器,带可选url参数?

Php Laravel 5.1 Route::控制器,带可选url参数?,php,laravel,Php,Laravel,我有这个密码 Route::controller('/orders/{from}/{to}', 'CartController'); 链接是这样的 localhost/admin/orders/2020-01-01/2020-01-02 这将打开两个日期之间的所有记录 但我有另一个类似这样的链接 localhost/admin/orders/4212 在新选项卡上打开特定行的步骤 这2个链接属于1个功能 叫它 public function getIndex($from,$to){ }

我有这个密码

Route::controller('/orders/{from}/{to}', 'CartController');
链接是这样的

localhost/admin/orders/2020-01-01/2020-01-02

这将打开两个日期之间的所有记录

但我有另一个类似这样的链接

localhost/admin/orders/4212

在新选项卡上打开特定行的步骤

这2个链接属于1个功能

叫它

 public function getIndex($from,$to){


 }

我可以做这件事吗?使用1
Route::controller('/orders/{from}/{to}','CartController')
在my route.php?

中,您可以将任何参数设置为可选参数,只需在参数名称末尾添加
。简单的例子:

Route::controller('/orders/{from?}/{to?}', 'CartController');
Route::controller('/orders/{from?}/{to?}', 'CartController');
另外,我注意到在路由定义中没有调用任何控制器操作。如果希望此路由指向getIndex()方法,请将其更改为:

Route::controller('/orders/{from?}/{to?}', 'CartController@getIndex');

阅读更多官方信息。

您可以将任何参数设置为可选参数,只需在参数名称末尾添加
。简单的例子:

Route::controller('/orders/{from?}/{to?}', 'CartController');
Route::controller('/orders/{from?}/{to?}', 'CartController');
另外,我注意到在路由定义中没有调用任何控制器操作。如果希望此路由指向getIndex()方法,请将其更改为:

Route::controller('/orders/{from?}/{to?}', 'CartController@getIndex');
阅读官方网站的更多信息。

尝试以下内容:

试试这个:

你可以这样使用它

Route::controller('/orders/{from}/{to?}', 'CartController');
在你的控制器里

public function getIndex($from,$to=null){
    if($to==null){
        //to open specific row on a new tab
    }
    else{
        // Other task
    }

}
你可以这样使用它

Route::controller('/orders/{from}/{to?}', 'CartController');
在你的控制器里

public function getIndex($from,$to=null){
    if($to==null){
        //to open specific row on a new tab
    }
    else{
        // Other task
    }

}

请告诉我们这两条路线。。。我想我有一个解决办法,让我们看看这两条路线。。。我想我有办法了