使用CakePHP在另一个视图上显示搜索结果

时间:2018-10-19 20:04:18

标签: php cakephp cakephp-3.0

我现在正在使用CakePHP,我需要使用一个视图进行搜索,然后将数据发送到同一控制器上的另一个动作,这将触发具有该搜索结果的另一个视图。关键是,在搜索屏幕上,还有一个表显示了相同模型的一些数据,我相信这是一个大问题。 所以现在,这就是我得到的:

typename enable_if<!is_container<T>::value>::type

我该如何处理? 谢谢大家!

编辑: 忘了提一下,但是$ data变量在表单上总是为空,即使我在表单输入中键入内容也是如此。这也是查看代码!

type

2 个答案:

答案 0 :(得分:0)

请考虑您将代码放在行之后:

return $this->redirect(['action' => 'busca404']);
}

在那种情况下,在任何情况下都不会执行所有这些行,因为无论请求是否“获得”,您都将强制重定向。因此所有这些代码都不会执行。

我认为您需要定义条件以重定向到“ ficha”操作,并在其中保留条件到“ busca”操作

答案 1 :(得分:0)

我将对搜索表单和结果使用相同的功能和模板。通过重定向消除整个if部分,仅在有要搜索的数据时才进行搜索,并更改视图以检查是否有要显示的结果。像这样:

$data = $this->request->is('get') ? $this->request->getQueryParams() : $this->request->getData();
if (!empty($data)) {
    // Do your searches using $data here, set the results for the view
    $this->set('results', $results);
}

然后在您的模板中,就像显示的一样,但是在其中添加了一个部分

if (isset($results)):
    // Display your search results here
endif;