Как работает доступ к свойству через Relations?
Например, есть relations в модели Order. И она возвращает ActiveQuery.
public function getCustomer()
{
return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
}
Как срабатывает обработка $order->customer и почему возвращается ActiveRecord?
В BaseObject есть метод __get()
public function __get($name)
{
$getter = 'get' . $name;
if (method_exists($this, $getter)) {
return $this->$getter();
} elseif (method_exists($this, 'set' . $name)) {
throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
}
throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}
Но судя по этому "return $this->$getter();" он тоже должен вернуть ActiveQuery. Почему ActiveRecord возвращается?