2

我有一个 Kohana 3 MVC 应用程序。

在一个视图中,我可以使用这一行显式调用控制器的操作:

Request::factory('/test/deliveryaddress')->execute();

但我还想向操作发送一个参数,以便像这样处理:

public function action_deliveryaddress($region_name = NULL)
{
    $view = new View('test/deliveryaddress');
    $region_name = isset($_GET['region_name']) ? $_GET['region_name'] : '';
    $view->set('region_name', $region_name);
    $this->request->response = $view;
}

我已经尝试了这两种尝试,但它们不起作用:

Request::factory('/test/deliveryaddress?region_name=top')->execute(); //error
Request::factory('/test/deliveryaddress', array('region_name'=>'top'))->execute(); //ignored

如何使用 Request::factory() 发送 GET 变量,或者有更好的方法将 GET 参数发送到操作?

4

2 回答 2

3

对于3.1,可以使用类的query()方法Request

equest::factory('/test/deliveryaddress?)->query('region_name', 'top')->execute();

对于 3.0,没有真正的隔离,您必须操作$_GET数组。

于 2011-04-05T08:39:38.563 回答
0

使用 Request 类和控制器中的 query()

代替:

$region_name = isset($_GET['region_name']) ? $_GET['region_name'] : '';

尝试:

$get = $this->request->query();
$region_name = isset($get['region_name']) ? $get['region_name'] : '';
于 2011-07-11T04:31:35.400 回答