93 lines
1.6 KiB
PHP
93 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
|
|
|
use Doctrine\ORM\UnitOfWork;
|
|
|
|
require_once __DIR__ . '/../../../TestInit.php';
|
|
|
|
class DDC1757Test extends \Doctrine\Tests\OrmFunctionalTestCase
|
|
{
|
|
public function testFailingCase()
|
|
{
|
|
$qb = $this->_em->createQueryBuilder();
|
|
/* @var $qb \Doctrine\ORM\QueryBuilder */
|
|
|
|
$qb->select('_a')
|
|
->from(__NAMESPACE__ . '\DDC1757A', '_a')
|
|
->from(__NAMESPACE__ . '\DDC1757B', '_b')
|
|
->join('_b.c', '_c')
|
|
->join('_c.d', '_d');
|
|
|
|
$q = $qb->getQuery();
|
|
$dql = $q->getDQL();
|
|
|
|
// Show difference between expected and actual queries on error
|
|
self::assertEquals("SELECT _a FROM " . __NAMESPACE__ . "\DDC1757A _a, " . __NAMESPACE__ . "\DDC1757B _b INNER JOIN _b.c _c INNER JOIN _c.d _d",
|
|
$dql,
|
|
"Wrong DQL query");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Entity
|
|
*/
|
|
class DDC1757A
|
|
{
|
|
/**
|
|
* @Column(type="integer")
|
|
* @Id
|
|
* @GeneratedValue(strategy="AUTO")
|
|
*/
|
|
private $id;
|
|
}
|
|
|
|
/**
|
|
* @Entity
|
|
*/
|
|
class DDC1757B
|
|
{
|
|
/**
|
|
* @Column(type="integer")
|
|
* @Id
|
|
* @GeneratedValue(strategy="AUTO")
|
|
*/
|
|
private $id;
|
|
|
|
/**
|
|
* @OneToOne(targetEntity="DDC1757C")
|
|
*/
|
|
private $c;
|
|
}
|
|
|
|
/**
|
|
* @Entity
|
|
*/
|
|
class DDC1757C
|
|
{
|
|
/**
|
|
* @Column(type="integer")
|
|
* @Id
|
|
* @GeneratedValue(strategy="AUTO")
|
|
*/
|
|
public $id;
|
|
|
|
/**
|
|
* @OneToOne(targetEntity="DDC1757D")
|
|
*/
|
|
private $d;
|
|
}
|
|
|
|
/**
|
|
* @Entity
|
|
*/
|
|
class DDC1757D
|
|
{
|
|
/**
|
|
* @Column(type="integer")
|
|
* @Id
|
|
* @GeneratedValue(strategy="AUTO")
|
|
*/
|
|
public $id;
|
|
}
|