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 如何使用cakedc/search插件通过一个搜索栏在3个不同的表中进行搜索?_Cakephp_Search_Cakephp 2.0_Cakedc - Fatal编程技术网

Cakephp 如何使用cakedc/search插件通过一个搜索栏在3个不同的表中进行搜索?

Cakephp 如何使用cakedc/search插件通过一个搜索栏在3个不同的表中进行搜索?,cakephp,search,cakephp-2.0,cakedc,Cakephp,Search,Cakephp 2.0,Cakedc,我正在使用CakePHP2.4和搜索插件 我有以下几点 Employee hasOne EmployeeProfile Employee hasMany Qualification 所以我只有一个搜索栏 搜索栏将使用LIKE通过以下字段进行搜索 Employee.name EmployeeProfile.email Qualification.title 如何为此搜索配置模型员工->过滤器args? 这是原始版本的交叉过帐文档中包括一个示例 'username' => array('

我正在使用CakePHP2.4和搜索插件

我有以下几点

Employee hasOne EmployeeProfile 
Employee hasMany Qualification
所以我只有一个搜索栏

搜索栏将使用LIKE通过以下字段进行搜索

Employee.name
EmployeeProfile.email
Qualification.title
如何为此搜索配置模型
员工->过滤器args


这是原始版本的交叉过帐

文档中包括一个示例

'username' => array('type' => 'like', 'field' => array('User.username', 'UserInfo.first_name')),

您只需确保正在调用的模型在find()调用中可用。在本例中,查找将同时在users表username和user\u infos first\u name字段上执行类似操作。

我想进一步介绍一下,因为我已经尝试在hasMany关系上设置搜索了几个小时,但什么都找不到。Mark提到“hasMany关系(资格)的定制bindModel(作为hasOne)”。这是如何做到的:

    $this->Employee->bindModel(array(
        'hasOne' => array(
            'Qualification' => array(
                'foreignKey' => false,
                'conditions' => array('Employee.id = Qualification.employee_id')
            )
        )
    ), false);
只需在分页之前将其绑定,并在过滤器的字段列表中添加Qualification.title rgs

我会说:自定义bindModel(作为hasOne)用于hasMany关系(Qualification)和
'field'=>数组(all,my,fields)
-或分页hasMany记录。