Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP在主页中进行搜索_Cakephp_Search_Cakephp 2.4 - Fatal编程技术网

CakePHP在主页中进行搜索

CakePHP在主页中进行搜索,cakephp,search,cakephp-2.4,Cakephp,Search,Cakephp 2.4,我想知道我该如何在我的主页上搜索像房产这样的东西 我试图理解这个概念,并浏览了多个网站,但我仍然不明白这将如何做到 我所需要的就是朝着正确的方向推进。我需要的所有情况下,在有关例如x模型和搜索它。而我的任务是在家里寻找财产 任何帮助都将不胜感激 我不确定控制器中的代码是否正确。 家庭控制器 public function index() { //Populate localities dropdownlist App::import('model','loca

我想知道我该如何在我的主页上搜索像房产这样的东西

我试图理解这个概念,并浏览了多个网站,但我仍然不明白这将如何做到

我所需要的就是朝着正确的方向推进。我需要的所有情况下,在有关例如x模型和搜索它。而我的任务是在家里寻找财产

任何帮助都将不胜感激

我不确定控制器中的代码是否正确。 家庭控制器

public function index() {
        //Populate localities dropdownlist  
        App::import('model','locality');
        $locality = new Locality('locality');
        $this->set('localities',$locality->find('list', array('fields' => array('id', 'fullname'))));

        App::import('model','condition');
        $condition = new Condition('condition');
        $this->set('conditions',$condition->find('list', array('fields' => array('id', 'condition'))));

        App::import('model','category');
        $category = new Category('category');
        $this->set('categories',$category->find('list', array('fields' => array('id', 'category'))));

        App::import('model','serviceType');
        $servicetype = new ServiceType('serviceType');
        $this->set('serviceTypes',$servicetype->find('list', array('fields' => array('id', 'service_type'))));
    }
景色

<?php 
    echo $this->Form->create('Property',array('contoller' =>'home', 'action'=> 'search'));
    echo $this->Form->input('priceFrom',array('style'=> 'width:100%;'));
    echo $this->Form->input('priceTo',array('style'=> 'width:100%;'));
    echo $this->Form->input('locality_id',array('style'=> 'width:100%;'));
    echo $this->Form->input('condition_id',array('style'=> 'width:100%;'));
    echo $this->Form->input('category_id',array('style'=> 'width:100%;'));
    echo $this->Form->input('service_type_id',array('style'=> 'width:100%;'));
    echo $this->Form->end('Search');
    ?>

类似的内容听起来是一个很好的开始(您可能缺少的技巧是使用
ClassRegistry
init
一个不同的模型,这样您就可以对它执行查询)


您可以创建一个处理搜索功能的元素,将表单指向控制器中的函数

比如说,如果要搜索属性,可以在
PropertyController
内部执行以下操作:

public function search()
{
    //your search functionality, like $this->Property->find('all');, or adding conditions
}
然后,您可以添加一个具有搜索表单的元素,例如命名为
search.ctp
(在
View/Elements
文件夹中):

在主页中,您可以添加以下元素:

echo $this->element('search');

元素的好处在于,您可以在其他视图或布局中重复使用它

我非常感谢希望结束此问题的人员提供的帮助。请尝试
$this->Form->create('Property', array('type' => 'get'));
$this->Form->input('search');
$this->Form->end('Search');
echo $this->element('search');