doctrine/orm · error · LogicException

The discriminator column was not set.

Error message

The discriminator column was not set.

What it means

Error "The discriminator column was not set." thrown in doctrine/orm.

Source

Thrown at src/Mapping/ClassMetadata.php:2229

                }

                if (
                    defined('Doctrine\DBAL\Types\Types::ENUM')
                    && $columnDef['type'] === Types::ENUM
                    && ! isset($columnDef['options']['values'])
                ) {
                    $columnDef['options']['values'] = array_column($columnDef['enumType']::cases(), 'value');
                }
            }

            $this->discriminatorColumn = DiscriminatorColumnMapping::fromMappingArray($columnDef);
        }
    }

    final public function getDiscriminatorColumn(): DiscriminatorColumnMapping
    {
        if ($this->discriminatorColumn === null) {
            throw new LogicException('The discriminator column was not set.');
        }

        return $this->discriminatorColumn;
    }

    /**
     * Sets the discriminator values used by this class.
     * Used for JOINED and SINGLE_TABLE inheritance mapping strategies.
     *
     * @param array<int|string, string> $map
     *
     * @throws MappingException
     */
    public function setDiscriminatorMap(array $map): void
    {
        if (count(array_flip($map)) !== count($map)) {
            Deprecation::trigger(
                'doctrine/orm',

View on GitHub (pinned to d9b9ff7301)

When it happens

Trigger: Thrown at src/Mapping/ClassMetadata.php:2229 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of doctrine/orm@d9b9ff7301 (2026-08-21). Data as JSON: /api/errors/8c7c0ca0e5e2bd1d. Report an issue: GitHub.