Code Duplication    Length = 12-13 lines in 3 locations

src/Query/AbstractQuery.php 3 locations

@@ 167-179 (lines=13) @@
164
     * @param array $values
165
     * @return $this
166
     */
167
    public function where($string, $values = [])
168
    {
169
        /** @var Condition $this ->_parts[] */
170
        if ($string) {
171
            if (isset($this->parts['where']) && $this->parts['where'] instanceof Condition) {
172
                $this->parts['where'] = $this->parts['where']->and_($this->getCondition($string, $values));
173
            } else {
174
                $this->parts['where'] = $this->getCondition($string, $values);
175
            }
176
        }
177
178
        return $this;
179
    }
180
181
    /**
182
     * @param string $string
@@ 258-269 (lines=12) @@
255
     * @param array $values
256
     * @return $this
257
     */
258
    public function orWhere($string, $values = [])
259
    {
260
        if ($string) {
261
            if ($this->parts['where'] instanceof Condition) {
262
                $this->parts['where'] = $this->parts['where']->or_($this->getCondition($string, $values));
263
            } else {
264
                $this->parts['where'] = $this->getCondition($string, $values);
265
            }
266
        }
267
268
        return $this;
269
    }
270
271
    /**
272
     * @param $string
@@ 276-287 (lines=12) @@
273
     * @param array $values
274
     * @return $this
275
     */
276
    public function having($string, $values = [])
277
    {
278
        if ($string) {
279
            if ($this->parts['having'] instanceof Condition) {
280
                $this->parts['having'] = $this->parts['having']->and_($this->getCondition($string, $values));
281
            } else {
282
                $this->parts['having'] = $this->getCondition($string, $values);
283
            }
284
        }
285
286
        return $this;
287
    }
288
289
    /**
290
     * Escapes data for safe use in SQL queries