Merge pull request #1507 from deguif/fix-wrong-property
Fixed wrong property name
This commit is contained in:
commit
d88cf97bef
@ -456,8 +456,8 @@ class ResultSetMappingBuilder extends ResultSetMapping
|
|||||||
$sql .= $class->fieldMappings[$this->fieldMappings[$columnName]]['columnName'];
|
$sql .= $class->fieldMappings[$this->fieldMappings[$columnName]]['columnName'];
|
||||||
} else if (isset($this->metaMappings[$columnName])) {
|
} else if (isset($this->metaMappings[$columnName])) {
|
||||||
$sql .= $this->metaMappings[$columnName];
|
$sql .= $this->metaMappings[$columnName];
|
||||||
} else if (isset($this->discriminatorColumn[$columnName])) {
|
} else if (isset($this->discriminatorColumns[$dqlAlias])) {
|
||||||
$sql .= $this->discriminatorColumn[$columnName];
|
$sql .= $this->discriminatorColumns[$dqlAlias];
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= " AS " . $columnName;
|
$sql .= " AS " . $columnName;
|
||||||
|
25
tests/Doctrine/Tests/Models/DDC3899/DDC3899Contract.php
Normal file
25
tests/Doctrine/Tests/Models/DDC3899/DDC3899Contract.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC3899;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
* @Table(name="dc3899_contracts")
|
||||||
|
* @InheritanceType("SINGLE_TABLE")
|
||||||
|
* @DiscriminatorColumn(name="discr", type="string")
|
||||||
|
* @DiscriminatorMap({
|
||||||
|
* "fix" = "DDC3899FixContract",
|
||||||
|
* "flexible" = "DDC3899FlexContract"
|
||||||
|
* })
|
||||||
|
*/
|
||||||
|
abstract class DDC3899Contract
|
||||||
|
{
|
||||||
|
/** @Id @Column(type="integer") */
|
||||||
|
public $id;
|
||||||
|
|
||||||
|
/** @Column(type="boolean") */
|
||||||
|
public $completed = false;
|
||||||
|
|
||||||
|
/** @ManyToOne(targetEntity="DDC3899User", inversedBy="contract") */
|
||||||
|
public $user;
|
||||||
|
}
|
12
tests/Doctrine/Tests/Models/DDC3899/DDC3899FixContract.php
Normal file
12
tests/Doctrine/Tests/Models/DDC3899/DDC3899FixContract.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC3899;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
*/
|
||||||
|
class DDC3899FixContract extends DDC3899Contract
|
||||||
|
{
|
||||||
|
/** @column(type="integer") */
|
||||||
|
public $fixPrice = 0;
|
||||||
|
}
|
15
tests/Doctrine/Tests/Models/DDC3899/DDC3899FlexContract.php
Normal file
15
tests/Doctrine/Tests/Models/DDC3899/DDC3899FlexContract.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC3899;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
*/
|
||||||
|
class DDC3899FlexContract extends DDC3899Contract
|
||||||
|
{
|
||||||
|
/** @column(type="integer") */
|
||||||
|
public $hoursWorked = 0;
|
||||||
|
|
||||||
|
/** @column(type="integer") */
|
||||||
|
public $pricePerHour = 0;
|
||||||
|
}
|
16
tests/Doctrine/Tests/Models/DDC3899/DDC3899User.php
Normal file
16
tests/Doctrine/Tests/Models/DDC3899/DDC3899User.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC3899;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
* @Table(name="dc3899_users")
|
||||||
|
*/
|
||||||
|
class DDC3899User
|
||||||
|
{
|
||||||
|
/** @Id @Column(type="integer") */
|
||||||
|
public $id;
|
||||||
|
|
||||||
|
/** @OneToMany(targetEntity="DDC3899Contract", mappedBy="user") */
|
||||||
|
public $contracts;
|
||||||
|
}
|
@ -788,4 +788,20 @@ class NativeQueryTest extends \Doctrine\Tests\OrmFunctionalTestCase
|
|||||||
|
|
||||||
$this->assertSQLEquals('u.id AS id0, u.status AS status1, u.username AS username2, u.name AS name3, u.email_id AS email_id4', (string)$rsm);
|
$this->assertSQLEquals('u.id AS id0, u.status AS status1, u.username AS username2, u.name AS name3, u.email_id AS email_id4', (string)$rsm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DDC-3899
|
||||||
|
*/
|
||||||
|
public function testGenerateSelectClauseWithDiscriminatorColumn()
|
||||||
|
{
|
||||||
|
$rsm = new ResultSetMappingBuilder($this->_em, ResultSetMappingBuilder::COLUMN_RENAMING_INCREMENT);
|
||||||
|
$rsm->addEntityResult('Doctrine\Tests\Models\DDC3899\DDC3899User', 'u');
|
||||||
|
$rsm->addJoinedEntityResult('Doctrine\Tests\Models\DDC3899\DDC3899FixContract', 'c', 'u', 'contracts');
|
||||||
|
$rsm->addFieldResult('u', $this->platform->getSQLResultCasing('id'), 'id');
|
||||||
|
$rsm->setDiscriminatorColumn('c', $this->platform->getSQLResultCasing('discr'));
|
||||||
|
|
||||||
|
$selectClause = $rsm->generateSelectClause(array('u' => 'u1', 'c' => 'c1'));
|
||||||
|
|
||||||
|
$this->assertSQLEquals('u1.id as id, c1.discr as discr', $selectClause);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user