我正在实现这样的搜索功能:
index.ctp
<div class="Search">
<?php
// The base url is the url where we'll pass the filter parameters
$base_url = array('controller' => 'ExpiringServices', 'action' => 'index');
echo $this->Form->create("Filter",array('url' => $base_url, 'class' => 'filter'));
// Add a basic search
echo $this->Form->input("search", array('label' => false, 'placeholder' => "Name or surname..."));
echo $this->Form->submit("Refresh");
echo $this->Form->end();
?>
</div>
ExpiringServicesController.php
$searchInput = $this->request->data['search']; //line 27
但是当搜索按预期进行时,我会收到此错误:
通知(8):未定义索引:搜索[APP / Controller \ ExpiringServicesController.php,第27行]
如果我使用debug($searchInput)
,则可以看到它包含搜索输入文本。但是,如果我使用if (isset($_FILES[$this->request->data['search']]))
,它将不会进入if语句中,就像未设置一样。
我该如何解决?
答案 0 :(得分:2)
您应该改用getData()
:
$searchInput = $this->request->getData('search');
这将防止未定义的索引错误,并且直接从文档开始:
任何不存在的键都将返回
null
$foo = $this->request->getData('Value.that.does.not.exist'); // $foo == null