Просмотр исходного кода

Merge pull request #446 from llz/master

添加ignore方法,提交时忽略某个筛选项
Jiang Qinghua 5 лет назад
Родитель
Сommit
2d0b61779d
1 измененных файлов с 21 добавлено и 0 удалено
  1. 21 0
      src/Grid/Filter/AbstractFilter.php

+ 21 - 0
src/Grid/Filter/AbstractFilter.php

@@ -100,6 +100,11 @@ abstract class AbstractFilter
      */
     public $group;
 
+    /**
+     * @var bool
+     */
+    protected $ignore = false;
+
     /**
      * AbstractFilter constructor.
      *
@@ -263,6 +268,10 @@ abstract class AbstractFilter
      */
     public function condition($inputs)
     {
+        if ($this->ignore) {
+            return;
+        }
+
         $value = Arr::get($inputs, $this->column);
 
         if ($value === null) {
@@ -274,6 +283,18 @@ abstract class AbstractFilter
         return $this->buildCondition($this->column, $this->value);
     }
 
+    /**
+     * Ignore this query filter.
+     *
+     * @return $this
+     */
+    public function ignore()
+    {
+        $this->ignore = true;
+
+        return $this;
+    }
+
     /**
      * Select filter.
      *