Passed
Push — master ( 89b134...c252a6 )
by Jonas
10:11
created

PostgresGrammar::compileUpdate()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 3

Importance

Changes 0
Metric Value
cc 3
eloc 3
nc 2
nop 2
dl 0
loc 7
ccs 4
cts 4
cp 1
crap 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Staudenmeir\LaravelCte\Query\Grammars;
4
5
use Illuminate\Database\Query\Builder;
6
use Illuminate\Database\Query\Grammars\PostgresGrammar as Base;
7
8
class PostgresGrammar extends Base
9
{
10
    use CompilesExpressions {
0 ignored issues
show
introduced by
The trait Staudenmeir\LaravelCte\Q...ars\CompilesExpressions requires some properties which are not provided by Staudenmeir\LaravelCte\Q...rammars\PostgresGrammar: $unionExpressions, $expressions, $recursionLimit, $unionRecursionLimit
Loading history...
11
        compileUpdate as compileUpdateTrait;
12
        compileDelete as compileDeleteTrait;
13
    }
14
15
    /**
16
     * Compile an update statement into SQL.
17
     *
18
     * @param \Illuminate\Database\Query\Builder $query
19
     * @param array $values
20
     * @return string
21
     */
22 3
    public function compileUpdate(Builder $query, array $values)
23
    {
24 3
        if (isset($query->joins) || isset($query->limit)) {
25 2
            return parent::compileUpdate($query, $values);
26
        }
27
28 1
        return $this->compileUpdateTrait($query, $values);
29
    }
30
31
    /**
32
     * Get the bindings for an update statement.
33
     *
34
     * @param \Illuminate\Database\Query\Builder $query
35
     * @param array $bindings
36
     * @param array $values
37
     * @return array
38
     */
39 3
    public function getBindingsForUpdate(Builder $query, array $bindings, array $values)
40
    {
41 3
        if (isset($query->joins) || isset($query->limit)) {
42 2
            return parent::prepareBindingsForUpdate($bindings, $values);
43
        }
44
45 1
        return $this->prepareBindingsForUpdate($bindings, $values);
46
    }
47
48
    /**
49
     * Compile a delete statement into SQL.
50
     *
51
     * @param \Illuminate\Database\Query\Builder $query
52
     * @return string
53
     */
54 3
    public function compileDelete(Builder $query)
55
    {
56 3
        if (isset($query->joins) || isset($query->limit)) {
57 2
            return parent::compileDelete($query);
58
        }
59
60 1
        return $this->compileDeleteTrait($query);
61
    }
62
}
63