在CakePHP中设置动态搜索
我正在使用CakePHP的插件 我尝试动态设置用于过滤用户输入的在CakePHP中设置动态搜索,php,arrays,cakephp,search,Php,Arrays,Cakephp,Search,我正在使用CakePHP的插件 我尝试动态设置用于过滤用户输入的$filterArgs数组。我之所以要这样做,是因为我的客户可以创建特定于客户的输入字段。我想让它们可以过滤和搜索 Customer.php: public function beforeFind($queryData) { $this->filterArgs['garantie'] = array( 'type' => 'subquery', 'method' => 'fi
$filterArgs
数组。我之所以要这样做,是因为我的客户可以创建特定于客户的输入字段。我想让它们可以过滤和搜索
Customer.php:
public function beforeFind($queryData) {
$this->filterArgs['garantie'] = array(
'type' => 'subquery',
'method' => 'findCustomerCustomFieldsByText',
'field' => array('Customer.id'),
'encode' => true
);
}
调试$filterArgs
显示条目已生成:
array(
'garantie' => array(
'type' => 'subquery',
'method' => 'findCustomerCustomFieldsByText',
'field' => array(
(int) 0 => 'Customer.id'
),
'encode' => true
)
)
不幸的是,没有调用方法findCustomerFieldsByText()
看起来,beforeFind()
可能不是正确的调用方法。我应该使用什么回调方法才能使用动态创建的$filterArgs
编辑:
我的问题与链接的问题不同,因为它是关于阻止筛选器工作的回调方法。beforeFind()可能确实太晚了,除非您在运行时在操作本身中加载行为,$this->Behaviors->load()等。我不确定您的确切意思。你能更准确地回答吗?可能是重复的