Signed-off-by: Robin Appelman <robin@icewind.nl>tags/v14.0.0beta1
@@ -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) . ')'); | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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()); | |||
} | |||
} |