我正在使用CakePHP构建原型搜索应用程序,我有一个搜索控制器,到目前为止具有以下代码:
class SearchController extends AppController
{
var $name = 'Search';
var $uses = array();
function index ( $query )
{
$query = $_GET['q'];
$this->set('title_for_layout', $query. ' – smplr');
// if no query then redirect to home
if ( !$query )
{
$this->redirect(array('controller' => 'home', 'action' => 'index'));
}
}
}
因此当用户有类似这样的内容时会触发此问题:domain.com/search?q=Hello
我的问题是如何使用传递给index()
的查询?
目前我必须手动创建一个新变量来使用$_GET
来获取查询字符串,我确信这不是使用Cake执行此操作的方法。
任何帮助非常感谢。感谢
答案 0 :(得分:1)
您需要使用:
$this->params['url']['q'];
更具体地说:
function index ( $query )
{
$query = $this->params['url']['q'];
....