CodeIgniter路由2个参数

时间:2014-04-24 13:16:06

标签: php codeigniter routes

我尝试使用路线创建应用,但是当我传递2个参数时,没有任何反应。该功能未被触发。

当我使用1个参数时,它可以工作:

$route['category_(:any)'] = 'category/categoryDetails/$1';
$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';

并在我的控制器中:

public function categoryDetails($name){
    $data = array('page' => 'category', 'categoryName' => $name);
    $this->load->view('category', $data);
}
public function categoryDemandeDetails($name, $demande){
    $data = array('page' => 'category',  'categoryName' => $name);
    $this->load->view('demande', $data);
}

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

第一条路线将捕获所有以category_开头的请求,包括应该路由到第二条路线的所有请求。这是因为(:any)将捕获任何,包括多个参数,因此第二条路线永远不会按此顺序使用。

  

路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。

您只需要更改路线的顺序:

$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';
$route['category_(:any)'] = 'category/categoryDetails/$1';
相关问题