public function testDelete() { $builder = new BaseBuilder('user', $this->db); $builder->select('country')->distinct(); $expectedSQL = "SELECT DISTINCT \"country\" FROM \"user\""; $this->assertEquals($expectedSQL, str_replace("\n", ' ', $builder->getCompiledSelect())); }
public function testOrHavingBy() { $builder = new BaseBuilder('user', $this->db); $builder->select('name')->groupBy('name')->having('id >', 3)->orHaving('SUM(id) > 2'); $expectedSQL = "SELECT \"name\" FROM \"user\" GROUP BY \"name\" HAVING \"id\" > :id OR SUM(id) > 2"; $this->assertEquals($expectedSQL, str_replace("\n", ' ', $builder->getCompiledSelect())); }
public function testSelectWorksWithComplexSelects() { $builder = new BaseBuilder('users', $this->db); $builder->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4) AS amount_paid'); $expected = "SELECT (SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4) AS amount_paid FROM \"users\""; $this->assertEquals($expected, str_replace("\n", ' ', $builder->getCompiledSelect())); }