123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- namespace Doctrine\Tests\ORM\Functional;
- use Doctrine\ORM\Tools\SchemaTool;
- use Doctrine\ORM\Query;
- use Doctrine\Tests\Models\CMS\CmsUser;
- use Doctrine\Tests\Models\CMS\CmsPhonenumber;
- use Doctrine\Tests\Models\CMS\CmsAddress;
- use Doctrine\Tests\Models\CMS\CmsGroup;
- use Doctrine\Tests\Models\CMS\CmsArticle;
- use Doctrine\Tests\Models\CMS\CmsComment;
- use Doctrine\ORM\Tools\Pagination\Paginator;
- /**
- * @group DDC-1613
- */
- class PaginationTest extends \Doctrine\Tests\OrmFunctionalTestCase
- {
- protected function setUp()
- {
- $this->useModelSet('cms');
- parent::setUp();
- $this->populate();
- }
- public function testCountSimpleWithoutJoin()
- {
- $dql = "SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u";
- $query = $this->_em->createQuery($dql);
- $paginator = new Paginator($query);
- $this->assertEquals(3, count($paginator));
- }
- public function testCountWithFetchJoin()
- {
- $dql = "SELECT u,g FROM Doctrine\Tests\Models\CMS\CmsUser u JOIN u.groups g";
- $query = $this->_em->createQuery($dql);
- $paginator = new Paginator($query);
- $this->assertEquals(3, count($paginator));
- }
- public function testIterateSimpleWithoutJoinFetchJoinHandlingOff()
- {
- $dql = "SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u";
- $query = $this->_em->createQuery($dql);
- $paginator = new Paginator($query, false);
- $data = array();
- foreach ($paginator as $user) {
- $data[] = $user;
- }
- $this->assertEquals(3, count($data));
- }
- public function testIterateSimpleWithoutJoinFetchJoinHandlingOn()
- {
- $dql = "SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u";
- $query = $this->_em->createQuery($dql);
- $paginator = new Paginator($query, true);
- $data = array();
- foreach ($paginator as $user) {
- $data[] = $user;
- }
- $this->assertEquals(3, count($data));
- }
- public function testIterateWithFetchJoin()
- {
- $dql = "SELECT u,g FROM Doctrine\Tests\Models\CMS\CmsUser u JOIN u.groups g";
- $query = $this->_em->createQuery($dql);
- $paginator = new Paginator($query, true);
- $data = array();
- foreach ($paginator as $user) {
- $data[] = $user;
- }
- $this->assertEquals(3, count($data));
- }
- public function populate()
- {
- for ($i = 0; $i < 3; $i++) {
- $user = new CmsUser();
- $user->name = "Name$i";
- $user->username = "username$i";
- $user->status = "active";
- $this->_em->persist($user);
- for ($j = 0; $j < 3; $j++) {;
- $group = new CmsGroup();
- $group->name = "group$j";
- $user->addGroup($group);
- $this->_em->persist($group);
- }
- }
- $this->_em->flush();
- }
- }
|