我正在运行一个燃料应用程序,其路线如下:
'lastname/:lastname/firstname/:firstname'=> '(@api)/mycontroller/my_method/$2/$1',
然后我的控制器上有一个方法:
public function get_my_method($firstname, $lastname);
不幸的是,$firstname
变量包含从路径传入的:lastname
,而$lastname
变量包含从路径传入的:firstname
。
我尝试在路由文件中切换$2
和$1
。
我希望保持端点网址不变 - 我只想反转进入控制器方法的参数顺序。
任何人都知道如何做到这一点?
答案 0 :(得分:1)
您需要将段包装在括号中以捕获它们,而不是使用命名参数。
'lastname/(:segment)/firstname/(:segment)' => '(@api)/mycontroller/my_method/$2/$1'
另一种方法是在控制器中使用$this->param('firstname')
等,而不是将它们作为参数传递给动作函数。