Merge pull request #691 from 51systems/master
IDENTITY function fix for Joined Inheritance
This commit is contained in:
commit
0248f743ba
@ -82,7 +82,10 @@ class IdentityFunction extends FunctionNode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$tableAlias = $sqlWalker->getSQLTableAlias($class->getTableName(), $dqlAlias);
|
//The table with the relation may be a subclass, so get the table name from the association definition
|
||||||
|
$tableName = $sqlWalker->getEntityManager()->getClassMetadata($assoc['sourceEntity'])->getTableName();
|
||||||
|
|
||||||
|
$tableAlias = $sqlWalker->getSQLTableAlias($tableName, $dqlAlias);
|
||||||
$columnName = $quoteStrategy->getJoinColumnName($joinColumn, $targetEntity, $platform);
|
$columnName = $quoteStrategy->getJoinColumnName($joinColumn, $targetEntity, $platform);
|
||||||
|
|
||||||
return $tableAlias . '.' . $columnName;
|
return $tableAlias . '.' . $columnName;
|
||||||
|
@ -1303,6 +1303,21 @@ class SelectSqlGenerationTest extends \Doctrine\Tests\OrmTestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testIdentityFunctionInJoinedSubclass()
|
||||||
|
{
|
||||||
|
//relation is in the subclass (CompanyManager) we are querying
|
||||||
|
$this->assertSqlGeneration(
|
||||||
|
'SELECT m, IDENTITY(m.car) as car_id FROM Doctrine\Tests\Models\Company\CompanyManager m',
|
||||||
|
'SELECT c0_.id AS id0, c0_.name AS name1, c1_.salary AS salary2, c1_.department AS department3, c1_.startDate AS startDate4, c2_.title AS title5, c2_.car_id AS sclr6, c0_.discr AS discr7 FROM company_managers c2_ INNER JOIN company_employees c1_ ON c2_.id = c1_.id INNER JOIN company_persons c0_ ON c2_.id = c0_.id'
|
||||||
|
);
|
||||||
|
|
||||||
|
//relation is in the base class (CompanyPerson).
|
||||||
|
$this->assertSqlGeneration(
|
||||||
|
'SELECT m, IDENTITY(m.spouse) as spouse_id FROM Doctrine\Tests\Models\Company\CompanyManager m',
|
||||||
|
'SELECT c0_.id AS id0, c0_.name AS name1, c1_.salary AS salary2, c1_.department AS department3, c1_.startDate AS startDate4, c2_.title AS title5, c0_.spouse_id AS sclr6, c0_.discr AS discr7 FROM company_managers c2_ INNER JOIN company_employees c1_ ON c2_.id = c1_.id INNER JOIN company_persons c0_ ON c2_.id = c0_.id'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group DDC-1339
|
* @group DDC-1339
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user