Example #1
0
 /**
  * @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];
 }