Skip to content

Commit d47d8e5

Browse files
committed
Added ability to use statements as fields
1 parent 87ced0f commit d47d8e5

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

src/Builder/Select.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Select extends Statement {
4343
* @return $this
4444
*/
4545
public function field($expression, $alias = null) {
46-
if($alias !== null) {
46+
if(is_object($expression)) {
4747
$expression = (string) $expression;
4848
$expression = trim($expression);
4949
$expression = rtrim($expression, ';');

tests/Builder/SelectTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,7 @@ public function testSubselectAsField() {
163163
->field('COUNT(*)')
164164
->from('t1', 'test1')
165165
->joinInner('t2', 'test2', 't1.id=t2.id')
166-
->where('t1.id > 10')
167-
->asString();
166+
->where('t1.id > 10');
168167

169168
$query = TestSelect::create()
170169
->field($query, 'testfield')
@@ -173,6 +172,6 @@ public function testSubselectAsField() {
173172
->where('t1.id > 10')
174173
->asString();
175174

176-
$this->assertEquals("SELECT\n\tCOUNT(*)\nFROM\n\ttest1 t1\nINNER JOIN\n\ttest2 t2 ON t1.id=t2.id\nWHERE\n\t(t1.id > 10)\n;\n", $query);
175+
$this->assertEquals("SELECT\n\t(\n\t\tSELECT\n\t\t\tCOUNT(*)\n\t\tFROM\n\t\t\ttest1 t1\n\t\tINNER JOIN\n\t\t\ttest2 t2 ON t1.id=t2.id\n\t\tWHERE\n\t\t\t(t1.id > 10)\n\t) AS `testfield`\nFROM\n\ttest1 t1\nINNER JOIN\n\ttest2 t2 ON t1.id=t2.id\nWHERE\n\t(t1.id > 10)\n;\n", $query);
177176
}
178177
}

0 commit comments

Comments
 (0)