. */ /** * Doctrine_Hydrate_FetchMode_TestCase * * @package Doctrine * @author Konsta Vesterinen * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @category Object Relational Mapping * @link www.phpdoctrine.com * @since 1.0 * @version $Revision$ */ class Doctrine_Hydrate_FetchMode_TestCase extends Doctrine_UnitTestCase { public function testFetchArraySupportsOneToManyRelations() { $q = new Doctrine_Query(); $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p')->where("u.name = 'zYne'");; $users = $q->execute(array(), Doctrine::FETCH_ARRAY); $this->assertTrue(is_array($users)); $this->assertEqual(count($users), 1); } public function testFetchArraySupportsOneToManyRelations2() { $q = new Doctrine_Query(); $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p'); $users = $q->execute(array(), Doctrine::FETCH_ARRAY); $this->assertTrue(is_array($users)); $this->assertEqual(count($users), 8); } public function testFetchArraySupportsOneToManyRelations3() { $q = new Doctrine_Query(); $q->select('u.*, p.*')->from('User u')->innerJoin('u.Phonenumber p')->where("u.name = 'Jean Reno'"); $users = $q->execute(array(), Doctrine::FETCH_ARRAY); $this->assertTrue(is_array($users)); $this->assertEqual(count($users), 1); $this->assertEqual(count($users[0]['Phonenumber']), 3); } public function testFetchArraySupportsOneToOneRelations() { $q = new Doctrine_Query(); $q->select('u.*, e.*')->from('User u')->innerJoin('u.Email e'); $users = $q->execute(array(), Doctrine::FETCH_ARRAY); $this->assertEqual(count($users), 8); $this->assertEqual($users[0]['Email']['address'], 'zYne@example.com'); } }