Cakephp 如何使用cakedc/search插件通过一个搜索栏在3个不同的表中进行搜索?
我正在使用CakePHP2.4和搜索插件 我有以下几点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('
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记录。