yiisoft/yii2 · error · yii\base\InvalidArgumentException
{class} has no relation named "{name}".
Error message
{class} has no relation named "{name}". What it means
Error "{class} has no relation named "{name}"." thrown in yiisoft/yii2.
Source
Thrown at framework/db/BaseActiveRecord.php:1262
/**
* Returns the relation object with the specified name.
* A relation is defined by a getter method which returns an [[ActiveQueryInterface]] object.
* It can be declared in either the Active Record class itself or one of its behaviors.
* @param string $name the relation name, e.g. `orders` for a relation defined via `getOrders()` method (case-sensitive).
* @param bool $throwException whether to throw exception if the relation does not exist.
* @return ActiveQueryInterface|ActiveQuery|null the relational query object. If the relation does not exist
* and `$throwException` is `false`, `null` will be returned.
* @throws InvalidArgumentException if the named relation does not exist.
*/
public function getRelation($name, $throwException = true)
{
$getter = 'get' . $name;
try {
// the relation could be defined in a behavior
$relation = $this->$getter();
} catch (UnknownMethodException $e) {
if ($throwException) {
throw new InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".', 0, $e);
}
return null;
}
if (!$relation instanceof ActiveQueryInterface) {
if ($throwException) {
throw new InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".');
}
return null;
}
if (method_exists($this, $getter)) {
// relation name is case sensitive, trying to validate it when the relation is defined within this class
$method = new \ReflectionMethod($this, $getter);
$realName = lcfirst(substr($method->getName(), 3));
if ($realName !== $name) {
if ($throwException) {View on GitHub (pinned to 66f00d18a2)
When it happens
Trigger: Thrown at framework/db/BaseActiveRecord.php:1262 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of yiisoft/yii2@66f00d18a2 (2026-08-17).
Data as JSON: /api/errors/f9b6b4c25a0bed2c.
Report an issue: GitHub.