1
0
mirror of synced 2025-01-18 06:21:40 +03:00
This commit is contained in:
zYne 2007-06-04 22:35:33 +00:00
parent 0f10828804
commit 240fdee547

View File

@ -57,8 +57,27 @@ class Doctrine_Query_Join_TestCase extends Doctrine_UnitTestCase
$this->connection->clear();
}
public function testRecordHydrationWorksWithDeeplyNestedStructuresAndArrayFetching()
{
$q = new Doctrine_Query();
$q->select('c.*, c2.*, d.*')
->from('Record_Country c')->leftJoin('c.City c2')->leftJoin('c2.District d')
->where('c.id = ?', array(1));
$countries = $q->execute(array(), Doctrine::FETCH_ARRAY);
$c = $countries[0];
$this->assertEqual($c['City'][0]['name'], 'City 1');
$this->assertEqual($c['City'][1]['name'], 'City 2');
$this->assertEqual($c['City'][2]['name'], 'City 3');
$this->assertEqual($c['City'][0]['District']['name'], 'District 1');
$this->assertEqual($c['City'][2]['District']['name'], 'District 2');
}
public function testRecordHydrationWorksWithDeeplyNestedStructures()
{ print "<pre>";
{
$q = new Doctrine_Query();
$q->select('c.*, c2.*, d.*')
@ -68,6 +87,7 @@ class Doctrine_Query_Join_TestCase extends Doctrine_UnitTestCase
$this->assertEqual($q->getQuery(), "SELECT r.id AS r__id, r.name AS r__name, r2.id AS r2__id, r2.name AS r2__name, r2.country_id AS r2__country_id, r2.district_id AS r2__district_id, r3.id AS r3__id, r3.name AS r3__name FROM record__country r LEFT JOIN record__city r2 ON r.id = r2.country_id LEFT JOIN record__district r3 ON r2.district_id = r3.id WHERE r.id = ?");
$countries = $q->execute();
$c = $countries[0];
$this->assertEqual($c->City[0]->name, 'City 1');
$this->assertEqual($c->City[1]->name, 'City 2');
@ -76,7 +96,6 @@ class Doctrine_Query_Join_TestCase extends Doctrine_UnitTestCase
$this->assertEqual($c->City[0]->District->name, 'District 1');
$this->assertEqual($c->City[2]->District->name, 'District 2');
}
/**
public function testManyToManyJoinUsesProperTableAliases()
{
$q = new Doctrine_Query();
@ -122,5 +141,5 @@ class Doctrine_Query_Join_TestCase extends Doctrine_UnitTestCase
$this->fail();
}
}
*/
}