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));
 }
Example #2
0
 public function having(...$expressions)
 {
     /**
      * @var $this IStatement
      */
     $where = HavingClause::create($expressions);
     $this->addClause($where);
     return $this;
 }