Issues (83)

src/Builder/Select.php (5 issues)

1
<?php
2
3
namespace Kir\MySQL\Builder;
4
5
use Kir\MySQL\Builder\Expr\OrderBySpecification;
6
use Kir\MySQL\Builder\Internal\Types;
7
use Kir\MySQL\Builder\Value\OptionalValue;
8
9
/**
10
 * @phpstan-import-type DBParameterValueType from Types
11
 * @phpstan-import-type DBTableNameType from Types
12
 * @phpstan-import-type DBWhereExpressionType from Types
13
 */
14
interface Select {
15
	/**
16
	 * @param bool $preserveTypes
17
	 * @return $this
18
	 */
19
	public function setPreserveTypes(bool $preserveTypes = true);
20
21
	/**
22
	 * @param bool $enabled
23
	 * @return $this
24
	 */
25
	public function forUpdate(bool $enabled = true);
26
27
	/**
28
	 * @param bool $distinct
29
	 * @return $this
30
	 */
31
	public function distinct(bool $distinct = true);
32
33
	/**
34
	 * @return array<int|string, string>
35
	 */
36
	public function getFields(): array;
37
38
	/**
39
	 * @param string|Select $expression
40
	 * @param string|null $alias
41
	 * @return $this
42
	 */
43
	public function field($expression, $alias = null);
44
45
	/**
46
	 * @param array<string, string>|array<int, string> $fields
47
	 * @return $this
48
	 */
49
	public function fields(array $fields);
50
51
	/**
52
	 * @param ($table is null ? DBTableNameType : string) $alias
0 ignored issues
show
The type Kir\MySQL\Builder\is was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
53
	 * @param null|DBTableNameType $table
0 ignored issues
show
The type Kir\MySQL\Builder\DBTableNameType was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
54
	 * @return $this
55
	 */
56
	public function from($alias, $table = null);
57
58
	/**
59
	 * @param string $alias
60
	 * @param DBTableNameType $table
61
	 * @param string|null $expression
62
	 * @param DBParameterValueType ...$args
0 ignored issues
show
The type Kir\MySQL\Builder\DBParameterValueType was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
63
	 * @return $this
64
	 */
65
	public function joinInner(string $alias, $table, ?string $expression = null, ...$args);
66
67
	/**
68
	 * @param string $alias
69
	 * @param DBTableNameType $table
70
	 * @param string $expression
71
	 * @param DBParameterValueType ...$args
72
	 * @return $this
73
	 */
74
	public function joinLeft(string $alias, $table, string $expression, ...$args);
75
76
	/**
77
	 * @param string $alias
78
	 * @param DBTableNameType $table
79
	 * @param string $expression
80
	 * @param DBParameterValueType ...$args
81
	 * @return $this
82
	 */
83
	public function joinRight(string $alias, $table, string $expression, ...$args);
84
85
	/**
86
	 * @param string|Select ...$queries
87
	 * @return $this
88
	 */
89
	public function union(...$queries);
90
91
	/**
92
	 * @param string|Select ...$queries
93
	 * @return $this
94
	 */
95
	public function unionAll(...$queries);
96
97
	/**
98
	 * @param DBWhereExpressionType $expression
0 ignored issues
show
The type Kir\MySQL\Builder\DBWhereExpressionType was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
99
	 * @param DBParameterValueType ...$args
100
	 * @return $this
101
	 */
102
	public function where($expression, ...$args);
103
104
	/**
105
	 * @param DBWhereExpressionType $expression
106
	 * @param DBParameterValueType ...$args
107
	 * @return $this
108
	 */
109
	public function having($expression, ...$args);
110
111
	/**
112
	 * @param mixed ...$args
113
	 * @return $this
114
	 */
115
	public function groupBy(...$args);
116
117
	/**
118
	 * @param string|OrderBySpecification $expression
119
	 * @param string&('ASC'|'DESC') $direction
0 ignored issues
show
Documentation Bug introduced by
The doc comment string&('ASC'|'DESC') at position 3 could not be parsed: Unknown type name ''ASC'' at position 3 in string&('ASC'|'DESC').
Loading history...
120
	 * @return $this
121
	 */
122
	public function orderBy($expression, string $direction = 'ASC');
123
124
	/**
125
	 * @param string $fieldName
126
	 * @param array<int, int|float|string> $values
127
	 * @return $this
128
	 */
129
	public function orderByValues(string $fieldName, array $values);
130
131
	/**
132
	 * @param int|null|OptionalValue $limit
133
	 * @return $this
134
	 */
135
	public function limit($limit);
136
137
	/**
138
	 * @param int|null|OptionalValue $offset
139
	 * @return $this
140
	 */
141
	public function offset($offset = 0);
142
143
	/**
144
	 * @return bool
145
	 */
146
	public function getCalcFoundRows(): bool;
147
148
	/**
149
	 * @param bool $calcFoundRows
150
	 * @return $this
151
	 */
152
	public function setCalcFoundRows($calcFoundRows = true);
153
154
	/**
155
	 * @return string
156
	 */
157
	public function __toString(): string;
158
}
159