我正在CakePHP中编写一个网站应用程序,我要求在主页(pages / home.ctp,PagesController)上有一个搜索框,用于搜索我的事件页面(Events / index.ctp,EventsController)中的内容。
我希望搜索查看事件表的所有字段,但只有一个输入框。
当用户点击搜索或点击输入时,他们应该被带到事件/ Index.ctp页面,其中列出了所有事件。
由于 史蒂夫
答案 0 :(得分:1)
您的实际搜索应该在模型中完成,因为它是您用来检索数据的图层。因此,如果您要搜索事件,则需要在事件模型中添加search()
方法。
然后,在任何控制器中,您都可以访问search()
方法。您执行此操作的控制器取决于您可以考虑的任何数量的事情。
如果你在事件控制器中:
$this->Event->search($postData);
如果你在另一个(但相关的)控制器中:
$this->User->Event->search($postData);
如果你在另一个(非关联)控制器中:
$this->loadModel('Event');
$this->Event->search($postData);
根据您的说明,听起来您只想将表单发布到事件控制器的index()
方法,在那里您可以检查是否提交了搜索查询,如果有,请运行搜索。