Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
Delete
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
4 / 4
6
100.00% covered (success)
100.00%
1 / 1
 sql
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
2
 params
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 reset
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
 allTablesReferenced
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace BO\Zmsdb\Query\Builder;
4
5/**
6 * Update
7 *
8 * Generates an SQL query for a DELETE operation.
9 *
10 * @package     BO\Zmsdb\Query\Builder
11 * @author      Alex Gisby<alex@solution10.com>
12 * @license     MIT
13 */
14class Delete extends Query
15{
16    use TableName;
17    use Where;
18    use Paginate;
19
20    /**
21     * @var     string      The base part of the query
22     */
23    protected $queryBase = 'DELETE FROM';
24
25    /**
26     * Generates the full SQL statement for this query with all the composite parts.
27     *
28     * @return  string
29     */
30    #[\Override]
31    public function sql()
32    {
33        if ($this->table === null) {
34            return '';
35        }
36
37        $candidateParts = [
38            $this->queryBase,
39            $this->dialect->quoteTable($this->table),
40            $this->buildWhereSQL($this->dialect),
41            $this->buildPaginateSQL()
42        ];
43
44        return trim(implode(' ', $candidateParts));
45    }
46
47    /**
48     * Returns all the parameters, in the correct order, to pass into PDO.
49     *
50     * @return  array
51     */
52    #[\Override]
53    public function params()
54    {
55        return $this->getWhereParams();
56    }
57
58    /**
59     * Resets the entire query.
60     *
61     * @return  $this
62     */
63    #[\Override]
64    public function reset()
65    {
66        $this->table = null;
67        $this->resetWhere();
68        return $this;
69    }
70
71    /*
72     * ------------------- All Tables ------------------------
73     */
74
75    /**
76     * Returns all the tables that this query makes mention of, in FROMs and JOINs
77     *
78     * @return  array
79     */
80    #[\Override]
81    public function allTablesReferenced()
82    {
83        if ($this->table()) {
84            return [$this->table()];
85        }
86        return [];
87    }
88}