Apply various and CS fixes as per review
This commit is contained in:
parent
d4db126bb0
commit
5224a89549
@ -6,20 +6,27 @@ use Doctrine\Common\Persistence\Mapping\ClassMetadata;
|
|||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class HierarchyDiscriminatorResolver
|
|
||||||
* @package Doctrine\ORM\Utility
|
|
||||||
* @internal This class exists only to avoid code duplication, do not reuse it externally
|
* @internal This class exists only to avoid code duplication, do not reuse it externally
|
||||||
*/
|
*/
|
||||||
class HierarchyDiscriminatorResolver
|
final class HierarchyDiscriminatorResolver
|
||||||
{
|
{
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is needed to make INSTANCEOF work correctly with inheritance: if the class at hand has inheritance,
|
||||||
|
* it extracts all the discriminators from the child classes and returns them
|
||||||
|
*/
|
||||||
public static function resolveDiscriminatorsForClass(
|
public static function resolveDiscriminatorsForClass(
|
||||||
ClassMetadata $rootClassMetadata,
|
ClassMetadata $rootClassMetadata,
|
||||||
EntityManagerInterface $entityManager
|
EntityManagerInterface $entityManager
|
||||||
) {
|
): array {
|
||||||
$hierarchyClasses = $rootClassMetadata->subClasses;
|
$hierarchyClasses = $rootClassMetadata->subClasses;
|
||||||
$hierarchyClasses[] = $rootClassMetadata->name;
|
$hierarchyClasses[] = $rootClassMetadata->name;
|
||||||
|
|
||||||
$discriminators = [];
|
$discriminators = [];
|
||||||
|
|
||||||
foreach ($hierarchyClasses as $class) {
|
foreach ($hierarchyClasses as $class) {
|
||||||
$currentMetadata = $entityManager->getClassMetadata($class);
|
$currentMetadata = $entityManager->getClassMetadata($class);
|
||||||
$currentDiscriminator = $currentMetadata->discriminatorValue;
|
$currentDiscriminator = $currentMetadata->discriminatorValue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user