Code Duplication    Length = 25-27 lines in 2 locations

src/DbalDataProvider.php 1 location

@@ 161-187 (lines=27) @@
158
159
    public function filter($fieldName, $operator, $value)
160
    {
161
         switch ($operator) {
162
            case "eq":
163
                $operator = '=';
164
                break;
165
            case "n_eq":
166
                $operator = '<>';    
167
                break;
168
            case "gt":
169
                $operator = '>';    
170
                 break;
171
            case "lt":
172
                $operator = '<';    
173
                break;
174
            case "ls_e":
175
                $operator = '<=';    
176
                break;
177
            case "gt_e":
178
                $operator = '>=';    
179
                break;
180
            case "in":
181
                // may be broken, @see https://github.com/Nayjest/Grids/issues/109
182
                $operator = 'IN';
183
                if (!is_array($value)) {
184
                    $operator = '=';
185
                }
186
                break;
187
        }
188
        $parameterName = str_replace(".", "_", $fieldName); // @see https://github.com/Nayjest/Grids/issues/111
189
        $this->src->andWhere("$fieldName $operator :$parameterName");
190
        $this->src->setParameter($parameterName, $value);

src/EloquentDataProvider.php 1 location

@@ 154-178 (lines=25) @@
151
     */
152
    public function filter($fieldName, $operator, $value)
153
    {
154
        switch ($operator) {
155
            case "eq":
156
                $operator = '=';
157
                break;
158
            case "n_eq":
159
                $operator = '<>';
160
                break;
161
            case "gt":
162
                $operator = '>';
163
                break;
164
            case "lt":
165
                $operator = '<';
166
                break;
167
            case "ls_e":
168
                $operator = '<=';
169
                break;
170
            case "gt_e":
171
                $operator = '>=';
172
                break;
173
            case "in":
174
                if (!is_array($value)) {
175
                    $operator = '=';
176
                }
177
                break;
178
        }
179
180
        if (strpos($fieldName, '.') !== false) {
181
            $fieldNameParts = explode('.', $fieldName);