getgrav/grav · error · RuntimeException

Cannot rename object: key '{$dst}' is already taken

Error message

Cannot rename object: key '{$dst}' is already taken

What it means

Error "Cannot rename object: key '{$dst}' is already taken" thrown in getgrav/grav.

Source

Thrown at system/src/Grav/Framework/Flex/Storage/SimpleStorage.php:283

        }

        $this->data[$dst] = $this->data[$src];

        return true;
    }

    /**
     * {@inheritdoc}
     * @see FlexStorageInterface::renameRow()
     */
    public function renameRow(string $src, string $dst): bool
    {
        if (null === $this->data) {
            $this->buildIndex();
        }

        if ($this->hasKey($dst)) {
            throw new RuntimeException("Cannot rename object: key '{$dst}' is already taken");
        }

        if (!$this->hasKey($src)) {
            return false;
        }

        // Change single key in the array without changing the order or value.
        $keys = array_keys($this->data);
        $keys[array_search($src, $keys, true)] = $dst;

        $data = array_combine($keys, $this->data);
        if (false === $data) {
            throw new LogicException('Bad data');
        }

        $this->data = $data;

        return true;

View on GitHub (pinned to 6040efed04)

When it happens

Trigger: Thrown at system/src/Grav/Framework/Flex/Storage/SimpleStorage.php:283 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of getgrav/grav@6040efed04 (2026-08-17). Data as JSON: /api/errors/7ba343eb88a2880e. Report an issue: GitHub.