@@ 60-70 (lines=11) @@ | ||
57 | self::assertEquals("SELECT u.id FROM users u WHERE u.nickname = ?", (string) $qb); |
|
58 | } |
|
59 | ||
60 | public function testSelectWithLeftJoin() |
|
61 | { |
|
62 | $qb = new QueryBuilder($this->conn); |
|
63 | $expr = $qb->expr(); |
|
64 | ||
65 | $qb->select('u.*', 'p.*') |
|
66 | ->from('users', 'u') |
|
67 | ->leftJoin('u', 'phones', 'p', $expr->eq('p.user_id', 'u.id')); |
|
68 | ||
69 | self::assertEquals('SELECT u.*, p.* FROM users u LEFT JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
70 | } |
|
71 | ||
72 | public function testSelectWithJoin() |
|
73 | { |
|
@@ 72-82 (lines=11) @@ | ||
69 | self::assertEquals('SELECT u.*, p.* FROM users u LEFT JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
70 | } |
|
71 | ||
72 | public function testSelectWithJoin() |
|
73 | { |
|
74 | $qb = new QueryBuilder($this->conn); |
|
75 | $expr = $qb->expr(); |
|
76 | ||
77 | $qb->select('u.*', 'p.*') |
|
78 | ->from('users', 'u') |
|
79 | ->Join('u', 'phones', 'p', $expr->eq('p.user_id', 'u.id')); |
|
80 | ||
81 | self::assertEquals('SELECT u.*, p.* FROM users u INNER JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
82 | } |
|
83 | ||
84 | public function testSelectWithInnerJoin() |
|
85 | { |
|
@@ 84-94 (lines=11) @@ | ||
81 | self::assertEquals('SELECT u.*, p.* FROM users u INNER JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
82 | } |
|
83 | ||
84 | public function testSelectWithInnerJoin() |
|
85 | { |
|
86 | $qb = new QueryBuilder($this->conn); |
|
87 | $expr = $qb->expr(); |
|
88 | ||
89 | $qb->select('u.*', 'p.*') |
|
90 | ->from('users', 'u') |
|
91 | ->innerJoin('u', 'phones', 'p', $expr->eq('p.user_id', 'u.id')); |
|
92 | ||
93 | self::assertEquals('SELECT u.*, p.* FROM users u INNER JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
94 | } |
|
95 | ||
96 | public function testSelectWithRightJoin() |
|
97 | { |
|
@@ 96-106 (lines=11) @@ | ||
93 | self::assertEquals('SELECT u.*, p.* FROM users u INNER JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
94 | } |
|
95 | ||
96 | public function testSelectWithRightJoin() |
|
97 | { |
|
98 | $qb = new QueryBuilder($this->conn); |
|
99 | $expr = $qb->expr(); |
|
100 | ||
101 | $qb->select('u.*', 'p.*') |
|
102 | ->from('users', 'u') |
|
103 | ->rightJoin('u', 'phones', 'p', $expr->eq('p.user_id', 'u.id')); |
|
104 | ||
105 | self::assertEquals('SELECT u.*, p.* FROM users u RIGHT JOIN phones p ON p.user_id = u.id', (string) $qb); |
|
106 | } |
|
107 | ||
108 | public function testSelectWithAndWhereConditions() |
|
109 | { |
|
@@ 147-160 (lines=14) @@ | ||
144 | self::assertEquals('SELECT u.*, p.* FROM users u WHERE (u.username = ?) OR (u.name = ?)', (string) $qb); |
|
145 | } |
|
146 | ||
147 | public function testSelectWithAndOrWhereConditions() |
|
148 | { |
|
149 | $qb = new QueryBuilder($this->conn); |
|
150 | $expr = $qb->expr(); |
|
151 | ||
152 | $qb->select('u.*', 'p.*') |
|
153 | ->from('users', 'u') |
|
154 | ->where('u.username = ?') |
|
155 | ->andWhere('u.username = ?') |
|
156 | ->orWhere('u.name = ?') |
|
157 | ->andWhere('u.name = ?'); |
|
158 | ||
159 | self::assertEquals('SELECT u.*, p.* FROM users u WHERE (((u.username = ?) AND (u.username = ?)) OR (u.name = ?)) AND (u.name = ?)', (string) $qb); |
|
160 | } |
|
161 | ||
162 | public function testSelectGroupBy() |
|
163 | { |
|
@@ 250-262 (lines=13) @@ | ||
247 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING u.name = ?', (string) $qb); |
|
248 | } |
|
249 | ||
250 | public function testSelectHavingAndHaving() |
|
251 | { |
|
252 | $qb = new QueryBuilder($this->conn); |
|
253 | $expr = $qb->expr(); |
|
254 | ||
255 | $qb->select('u.*', 'p.*') |
|
256 | ->from('users', 'u') |
|
257 | ->groupBy('u.id') |
|
258 | ->having('u.name = ?') |
|
259 | ->andHaving('u.username = ?'); |
|
260 | ||
261 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) AND (u.username = ?)', (string) $qb); |
|
262 | } |
|
263 | ||
264 | public function testSelectHavingOrHaving() |
|
265 | { |
|
@@ 264-276 (lines=13) @@ | ||
261 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) AND (u.username = ?)', (string) $qb); |
|
262 | } |
|
263 | ||
264 | public function testSelectHavingOrHaving() |
|
265 | { |
|
266 | $qb = new QueryBuilder($this->conn); |
|
267 | $expr = $qb->expr(); |
|
268 | ||
269 | $qb->select('u.*', 'p.*') |
|
270 | ->from('users', 'u') |
|
271 | ->groupBy('u.id') |
|
272 | ->having('u.name = ?') |
|
273 | ->orHaving('u.username = ?'); |
|
274 | ||
275 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) OR (u.username = ?)', (string) $qb); |
|
276 | } |
|
277 | ||
278 | public function testSelectOrHavingOrHaving() |
|
279 | { |
|
@@ 278-290 (lines=13) @@ | ||
275 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) OR (u.username = ?)', (string) $qb); |
|
276 | } |
|
277 | ||
278 | public function testSelectOrHavingOrHaving() |
|
279 | { |
|
280 | $qb = new QueryBuilder($this->conn); |
|
281 | $expr = $qb->expr(); |
|
282 | ||
283 | $qb->select('u.*', 'p.*') |
|
284 | ->from('users', 'u') |
|
285 | ->groupBy('u.id') |
|
286 | ->orHaving('u.name = ?') |
|
287 | ->orHaving('u.username = ?'); |
|
288 | ||
289 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) OR (u.username = ?)', (string) $qb); |
|
290 | } |
|
291 | ||
292 | public function testSelectHavingAndOrHaving() |
|
293 | { |
|
@@ 292-305 (lines=14) @@ | ||
289 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING (u.name = ?) OR (u.username = ?)', (string) $qb); |
|
290 | } |
|
291 | ||
292 | public function testSelectHavingAndOrHaving() |
|
293 | { |
|
294 | $qb = new QueryBuilder($this->conn); |
|
295 | $expr = $qb->expr(); |
|
296 | ||
297 | $qb->select('u.*', 'p.*') |
|
298 | ->from('users', 'u') |
|
299 | ->groupBy('u.id') |
|
300 | ->having('u.name = ?') |
|
301 | ->orHaving('u.username = ?') |
|
302 | ->andHaving('u.username = ?'); |
|
303 | ||
304 | self::assertEquals('SELECT u.*, p.* FROM users u GROUP BY u.id HAVING ((u.name = ?) OR (u.username = ?)) AND (u.username = ?)', (string) $qb); |
|
305 | } |
|
306 | ||
307 | public function testSelectOrderBy() |
|
308 | { |