Cakephp 2.5 将数据传递给控制器操作
Cakephp 2.5 pass data to controller action
我正在使用 CakePhp 2.5,并且我进入了一个包含 $data 数组的视图,
这是搜索表单的结果,我可以 var_dump 看看是否存在。
我如何将这个相同的 $data 数组传递给以 PDF 格式显示输出的同一控制器的操作? ?
我试试 :
echo $this->Html->Link("PDF", array('controller' => 'Verify',
'action'=> 'resultsPdf', $data),);
我刚刚得到:array (size=0) empty
你不能像那样将数组作为参数传递给控制器函数。一种解决方法是将数组编码为 json 字符串,然后在控制器操作中解码。
$encoded = json_encode($data);
echo $this->Html->Link(
"PDF",
array(
'controller' => 'Verify',
'action'=> 'resultsPdf',
$encoded
)
);
控制器:
function resultsPdf($data) {
$data = json_decode($data);
}
另一种方法是通过命名参数:
$encoded = json_encode($data);
echo $this->Html->Link(
"PDF",
array(
'controller' => 'Verify',
'action'=> 'resultsPdf',
'encoded' => $encoded
)
);
控制器:
function resultsPdf() {
$data = json_decode($this->params['named']['encoded']);
}
我正在使用 CakePhp 2.5,并且我进入了一个包含 $data 数组的视图,
这是搜索表单的结果,我可以 var_dump 看看是否存在。
我如何将这个相同的 $data 数组传递给以 PDF 格式显示输出的同一控制器的操作? ?
我试试 :
echo $this->Html->Link("PDF", array('controller' => 'Verify',
'action'=> 'resultsPdf', $data),);
我刚刚得到:array (size=0) empty
你不能像那样将数组作为参数传递给控制器函数。一种解决方法是将数组编码为 json 字符串,然后在控制器操作中解码。
$encoded = json_encode($data);
echo $this->Html->Link(
"PDF",
array(
'controller' => 'Verify',
'action'=> 'resultsPdf',
$encoded
)
);
控制器:
function resultsPdf($data) {
$data = json_decode($data);
}
另一种方法是通过命名参数:
$encoded = json_encode($data);
echo $this->Html->Link(
"PDF",
array(
'controller' => 'Verify',
'action'=> 'resultsPdf',
'encoded' => $encoded
)
);
控制器:
function resultsPdf() {
$data = json_decode($this->params['named']['encoded']);
}