phalcon/cphalcon · error · Phalcon\Mvc\Model\Exceptions\RelationAliasMustBeString

Relation alias must be a string in the HasManytoMany relatio

Error message

Relation alias must be a string in the HasManytoMany relation of model '{entityName}' with Reference Model '{referencedEntity}'

What it means

Error "Relation alias must be a string in the HasManytoMany relation of model '{entityName}' with Reference Model '{referencedEntity}'" thrown in phalcon/cphalcon.

Source

Thrown at phalcon/Mvc/Model/Manager.zep:554

            referencedFields,
            options
        );

        /**
         * Set extended intermediate relation data
         */
        relation->setIntermediateRelation(
            intermediateFields,
            intermediateModel,
            intermediateReferencedFields
        );

        /**
         * Check an alias for the relation
         */
        if fetch alias, options["alias"] {
            if typeof alias != "string" {
                throw new RelationAliasMustBeString("HasManytoMany", entityName, referencedEntity);
            }

            let lowerAlias = strtolower(alias);
        } else {
            let lowerAlias = referencedEntity;
        }

        /**
         * Append a new relationship
         */
        let relations[] = relation;

        /**
         * Update the global alias
         */
        let this->aliases[entityName . "$" . lowerAlias] = relation;

        /**

View on GitHub (pinned to b7419de9cd)

When it happens

Trigger: Thrown at phalcon/Mvc/Model/Manager.zep:554 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phalcon/cphalcon@b7419de9cd (2026-08-21). Data as JSON: /api/errors/92ea909db29ce10e. Report an issue: GitHub.