doctrine/orm · error · Doctrine\ORM\Mapping\MappingException

Mapping error on field '{fieldName}' in {sourceEntity} : 'jo

Error message

Mapping error on field '{fieldName}' in {sourceEntity} : 'joinTable' can only be set on many-to-many owning side.

What it means

Error "Mapping error on field '{fieldName}' in {sourceEntity} : 'joinTable' can only be set on many-to-many owning side." thrown in doctrine/orm.

Source

Thrown at src/Mapping/AssociationMapping.php:139

    {
        unset($mappingArray['isOwningSide'], $mappingArray['type']);
        $mapping = new static(
            $mappingArray['fieldName'],
            $mappingArray['sourceEntity'],
            $mappingArray['targetEntity'],
        );
        unset($mappingArray['fieldName'], $mappingArray['sourceEntity'], $mappingArray['targetEntity']);

        foreach ($mappingArray as $key => $value) {
            if ($key === 'joinTable') {
                assert($mapping instanceof ManyToManyAssociationMapping);

                if ($value === [] || $value === null) {
                    continue;
                }

                if (! $mapping instanceof ManyToManyOwningSideMapping) {
                    throw new MappingException(
                        "Mapping error on field '" .
                        $mapping->fieldName . "' in " . $mapping->sourceEntity .
                        " : 'joinTable' can only be set on many-to-many owning side.",
                    );
                }

                $mapping->joinTable = JoinTableMapping::fromMappingArray($value);

                continue;
            }

            if (property_exists($mapping, $key)) {
                $mapping->$key = $value;
            } else {
                throw new OutOfRangeException('Unknown property ' . $key . ' on class ' . static::class);
            }
        }

View on GitHub (pinned to d9b9ff7301)

When it happens

Trigger: Thrown at src/Mapping/AssociationMapping.php:139 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/0819144256bdae34. Report an issue: GitHub.