Пример #1
0
 public function getChildData($parentData, $select = array())
 {
     if (is_array($select)) {
         $select = new Kwf_Component_Select($select);
     }
     if (!$parentData && !$select->hasPart(Kwf_Component_Select::WHERE_CHILD_OF) && !$select->hasPart(Kwf_Component_Select::WHERE_ID)) {
         $e = new Kwf_Exception("Looking up components generated by List is slow, and must be avoided.");
         $e->logOrThrow();
     }
     return parent::getChildData($parentData, $select);
 }
 public function getChildData($parentData, $select = array())
 {
     if (is_array($select)) {
         $select = new Kwf_Component_Select($select);
     }
     if (!is_instance_of($this->_class, 'Kwc_Root_Component') && $select->hasPart(Kwf_Component_Select::WHERE_SUBROOT)) {
         //abkürzung wenn mehrere domains mit unterschiedlichen component-Klassen
         //im prinzip gleicher code wie in _GetParentDataByRow wenn return null gemacht wird, aber das hier wird früher gemacht
         $subroot = $select->getPart(Kwf_Component_Select::WHERE_SUBROOT);
         $component = $subroot[0];
         while (!Kwc_Abstract::getFlag($component->componentClass, 'subroot')) {
             $component = $component->parent;
         }
         if ($component->componentClass != $this->getClass()) {
             Kwf_Benchmark::count('GenTable::getChildData skipped');
             return array();
         }
     }
     return parent::getChildData($parentData, $select);
 }