public function testSubgroupHandoff()
 {
     $dq = new DataQuery('DataQueryTest_A');
     $subDq = $dq->disjunctiveGroup();
     $orgDq = clone $dq;
     $subDq->sort('"DataQueryTest_A"."Name"');
     $orgDq->sort('"DataQueryTest_A"."Name"');
     $this->assertEquals($dq->sql(), $orgDq->sql());
     $subDq->limit(5, 7);
     $orgDq->limit(5, 7);
     $this->assertEquals($dq->sql(), $orgDq->sql());
 }
Exemplo n.º 2
0
 /**
  * Test the leftJoin() and innerJoin method of the DataQuery object
  */
 function testJoins()
 {
     $dq = new DataQuery('Member');
     $dq->innerJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\"");
     $this->assertContains("INNER JOIN \"Group_Members\" ON \"Group_Members\".\"MemberID\" = \"Member\".\"ID\"", $dq->sql());
     $dq = new DataQuery('Member');
     $dq->leftJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\"");
     $this->assertContains("LEFT JOIN \"Group_Members\" ON \"Group_Members\".\"MemberID\" = \"Member\".\"ID\"", $dq->sql());
 }
 public function testDistinct()
 {
     $query = new DataQuery('DataQueryTest_E');
     $this->assertContains('SELECT DISTINCT', $query->sql($params), 'Query is set as distinct by default');
     $query = $query->distinct(false);
     $this->assertNotContains('SELECT DISTINCT', $query->sql($params), 'Query does not contain distinct');
     $query = $query->distinct(true);
     $this->assertContains('SELECT DISTINCT', $query->sql($params), 'Query contains distinct');
 }