Completed
Push — master ( d1730c...d58317 )
by BENOIT
26:43
created

functions.php ➔ delete()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace BenTools\Where;
4
5
use BenTools\Where\DeleteQuery\DeleteQueryBuilder;
6
use BenTools\Where\Expression\Condition;
7
use BenTools\Where\Expression\Expression;
8
use BenTools\Where\Expression\GroupExpression;
9
use BenTools\Where\Expression\NegatedExpression;
10
use BenTools\Where\InsertQuery\InsertQueryBuilder;
11
use BenTools\Where\SelectQuery\SelectQueryBuilder;
12
13
/**
14
 * @param string|Expression $expression
15
 * @param array ...$values
16
 * @return Expression|Condition
17
 * @throws \InvalidArgumentException
18
 */
19
function where($expression, ...$values): Expression
20
{
21
    return Expression::where($expression, ...$values);
22
}
23
24
/**
25
 * @param string|Expression $expression
26
 * @param array ...$values
27
 * @return GroupExpression
28
 * @throws \InvalidArgumentException
29
 */
30
function group($expression, ...$values): GroupExpression
31
{
32
    return Expression::group($expression, ...$values);
33
}
34
35
/**
36
 * @param string|Expression $expression
37
 * @param array ...$values
38
 * @return NegatedExpression
39
 * @throws \InvalidArgumentException
40
 */
41
function not($expression, ...$values): NegatedExpression
42
{
43
    return Expression::not($expression, ...$values);
44
}
45
46
/**
47
 * @param Expression[]|string[] ...$columns
48
 * @return SelectQueryBuilder
49
 */
50
function select(...$columns): SelectQueryBuilder
51
{
52
    return SelectQueryBuilder::make(...$columns);
53
}
54
55
/**
56
 * @param Expression[]|string[] ...$tables
57
 * @return SelectQueryBuilder
58
 */
59
function delete(...$tables): DeleteQueryBuilder
60
{
61
    return DeleteQueryBuilder::make(...$tables);
62
}
63
64
/**
65
 * @param array[] ...$values
66
 * @return InsertQueryBuilder
67
 * @throws \InvalidArgumentException
68
 */
69
function insert(array ...$values): InsertQueryBuilder
70
{
71
    return InsertQueryBuilder::load(...$values);
72
}
73