public function testAssemble() { $clause = new HavingClause(); $eq = new EqualPredicate(); $eq->setField('one')->setExpression((new StringExpression())->setValue('val')); $clause->addPredicate($eq); $this->assertEquals('HAVING one = "val"', QueryAssembler::stringify($clause)); $eq = new GreaterThanPredicate(); $eq->setField('two')->setExpression((new NumericExpression())->setValue(5)); $clause->addPredicate($eq); $this->assertEquals('HAVING one = "val" AND two > 5', QueryAssembler::stringify($clause)); }
public function having(...$expressions) { /** * @var $this IStatement */ $where = HavingClause::create($expressions); $this->addClause($where); return $this; }