Add count to function builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
parent
cd87a40eb3
commit
3047ef31bd
|
@ -71,4 +71,8 @@ class FunctionBuilder implements IFunctionBuilder {
|
||||||
public function subtract($x, $y) {
|
public function subtract($x, $y) {
|
||||||
return new QueryFunction($this->helper->quoteColumnName($x) . ' - ' . $this->helper->quoteColumnName($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
|
* @since 14.0.0
|
||||||
*/
|
*/
|
||||||
public function subtract($x, $y);
|
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());
|
$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…
Reference in New Issue