我有一个表老板,可以在其中禁用单行。因此,当用户加载页面时,我只想显示不禁用的雇主,但是我也想有一个按钮仅显示禁用的用户。 所以我在设置中使用
$ this-> crud-> addClause(“ is_disable”,true)
,这很好。 问题是,当用户单击“禁用过滤器”时,出现错误 因为我启用了过滤器addClause(“ is_disable”,true),但现在我想要addClause(“ is_disable”,false)...当用户单击“禁用”按钮过滤器时,我必须删除子句addClause(“ is_disable”,true ),但我不知道该怎么办。还有其他路径吗?
答案 0 :(得分:0)
您可以为addFilter()
使用第四个参数-它是后备逻辑。当过滤器未激活时,将调用该闭包。我认为这正是您要寻找的东西:
$this->crud->addFilter([ // add a "simple" filter called Disabled
'type' => 'simple',
'name' => 'disabled',
'label' => 'Disabled',
],
false, // the simple filter has no values above
function () { // if the filter is active
// do nothing; no filtering is actually needed
},
function () { // if the filter is NOT active
$this->crud->addClause('is_disable', true);
});