z-song/laravel-admin · error · Exception

hasMany field must be a HasMany or MorphMany relation.

Error message

hasMany field must be a HasMany or MorphMany relation.

What it means

Error "hasMany field must be a HasMany or MorphMany relation." thrown in z-song/laravel-admin.

Source

Thrown at src/Form/Field/HasMany.php:416

    /**
     * Build Nested form for related data.
     *
     * @throws \Exception
     *
     * @return array
     */
    protected function buildRelatedForms()
    {
        if (is_null($this->form)) {
            return [];
        }

        $model = $this->form->model();

        $relation = call_user_func([$model, $this->relationName]);

        if (!$relation instanceof Relation && !$relation instanceof MorphMany) {
            throw new \Exception('hasMany field must be a HasMany or MorphMany relation.');
        }

        $forms = [];

        /*
         * If redirect from `exception` or `validation error` page.
         *
         * Then get form data from session flash.
         *
         * Else get data from database.
         */
        if ($values = old($this->column)) {
            foreach ($values as $key => $data) {
                if ($data[NestedForm::REMOVE_FLAG_NAME] == 1) {
                    continue;
                }

                $model = $relation->getRelated()->replicate()->forceFill($data);

View on GitHub (pinned to 67c441eb78)

When it happens

Trigger: Thrown at src/Form/Field/HasMany.php:416 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of z-song/laravel-admin@67c441eb78 (2026-08-21). Data as JSON: /api/errors/396c009c9429c3e5. Report an issue: GitHub.