/** * @param Field\Relation $field * @return Model|\Dja\Db\Model\Query\QuerySet */ protected function getLazyRelation(Relation $field) { $name = $field->name; if (!array_key_exists($name, $this->relationDataCache)) { $this->relationDataCache[$name] = $field->getRelation($this); } elseif (is_array($this->relationDataCache[$name])) { if (!empty(array_filter($this->relationDataCache[$name]))) { $relClass = $field->relationClass; $this->relationDataCache[$name] = new $relClass($this->relationDataCache[$name], false); } else { $this->relationDataCache[$name] = null; } } return $this->relationDataCache[$name]; }