在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

我正在使用CakePHP的插件

我尝试动态设置用于过滤用户输入的
$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()等。我不确定您的确切意思。你能更准确地回答吗?可能是重复的