Browse Source

Add count to function builder

Signed-off-by: Robin Appelman <robin@icewind.nl>
tags/v14.0.0beta1
Robin Appelman 6 years ago
parent
commit
3047ef31bd
No account linked to committer's email address

+ 4
- 0
lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php View File

@@ -71,4 +71,8 @@ class FunctionBuilder implements IFunctionBuilder {
public function subtract($x, $y) {
return new QueryFunction($this->helper->quoteColumnName($x) . ' - ' . $this->helper->quoteColumnName($y));
}

public function count($input) {
return new QueryFunction('COUNT(' . $this->helper->quoteColumnName($input) . ')');
}
}

+ 8
- 0
lib/public/DB/QueryBuilder/IFunctionBuilder.php View File

@@ -96,4 +96,12 @@ interface IFunctionBuilder {
* @since 14.0.0
*/
public function subtract($x, $y);

/**
* @param mixed $input The input to be counted
*
* @return IQueryFunction
* @since 14.0.0
*/
public function count($input);
}

+ 10
- 0
tests/lib/DB/QueryBuilder/FunctionBuilderTest.php View File

@@ -110,4 +110,14 @@ class FunctionBuilderTest extends TestCase {

$this->assertEquals(1, $query->execute()->fetchColumn());
}

public function testCount() {
$query = $this->connection->getQueryBuilder();

$query->select($query->func()->count('appid'));
$query->from('appconfig')
->setMaxResults(1);

$this->assertGreaterThan(1, $query->execute()->fetchColumn());
}
}

Loading…
Cancel
Save