在 CakePHP 中动态创建 $filterArgs 数组

Dynamically create the $filterArgs array in CakePHP

使用 search 插件时,是否可以在 CakePHP 中动态创建 $filterArgs 数组?

我的客户能够创建他们自己的输入字段(特定于客户),我想让所有这些字段都可搜索。但是为此我必须将它们映射到 $filterArgs 数组中。

例如:

public $filterArgs = array(
    'input_filter' => array(
        'type' => 'subquery',
        'method' => 'findCustomerCustomFieldsByText',
        'field' => 'Customer.id',
        'encode' => true
    )
);

只需根据需要有条件地将它们添加到 filterArgs 数组即可。

if ($someFieldIsPresentCheckHere) {
    $this->Model->filterArgs['someThing'] = [ /* settings go here */ ];
}