问题描述
我正在将jqgrid与multiselect工具栏过滤器一起使用。我使用softDeletes并想在!null的地方过滤删除。
我可以过滤null,但是如何过滤不为null?
也许使用格式化程序?
查询:
$query->select([
"actions.id AS action_id","actions.global AS action_global","actions.name AS action_name","actions.description AS action_description","actions.deleted_at AS deleted",])->withTrashed();
列:
$grid->setColModel([
["name" => "action_id","hidden" => true],["name" => "action_name","label" => __("actioncontroller.action_name")],["name" => "action_global","label" => __("actioncontroller.action_global")],["name" => "action_description","label" => __("actioncontroller.action_description")],["name" => "deleted","label" => __("deleted")],]);
过滤器:
$grid->setSelect("deleted",[1 => __('yes'),null => __('no')]);
有人知道如何解决此问题吗?
亲切的问候
解决方法
所以我找到了解决方法。
格式化程序无济于事,但是如果您在RAW中创建if null语句。它将根据您的选择进行过滤。
查询:
$query->select([
"actions.id AS action_id","actions.global AS action_global","actions.name AS action_name","actions.description AS action_description",DB::raw("IF(ISNULL(actions.deleted_at),'N','Y') AS deleted"),])->withTrashed();
过滤器:
$grid->setSelect("deleted",["N" => __('no'),"Y" => __('yes')]);