Skip to content

Commit

Permalink
Merge 9f85c81 into 941d998
Browse files Browse the repository at this point in the history
  • Loading branch information
othercorey committed Jul 18, 2020
2 parents 941d998 + 9f85c81 commit 98c60bc
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion tests/TestCase/ORM/QueryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4037,7 +4037,12 @@ public function testSubqueryAliasing()
$this->assertEqualsSql('SELECT id, title, body, published FROM articles Articles', $subquery->sql());
}

public function testSubquerySelect()
/**
* Tests subquery() in where clause.
*
* @return void
*/
public function testSubqueryWhereClause()
{
$subquery = Query::subquery($this->getTableLocator()->get('Authors'))
->select(['Authors.id'])
Expand All @@ -4051,4 +4056,26 @@ public function testSubquerySelect()
$this->assertCount(2, $results);
$this->assertEquals([1, 3], array_column($results, 'id'));
}

/**
* Tests subquery() in join clause.
*
* @return void
*/
public function testSubqueryJoinClause()
{
$subquery = Query::subquery($this->getTableLocator()->get('Articles'))
->select(['author_id']);

$query = $this->getTableLocator()->get('Authors')->find();
$query
->select(['Authors.id', 'total_articles' => $query->func()->count('Articles.author_id')])
->leftJoin(['Articles' => $subquery], ['Articles.author_id = Authors.id'])
->group(['Authors.id'])
->order(['Authors.id' => 'ASC']);

$results = $query->all()->toList();
$this->assertEquals(1, $results[0]->id);
$this->assertEquals(2, $results[0]->total_articles);
}
}

0 comments on commit 98c60bc

Please sign in to comment.