示例#1
0
 protected function _buildQueryJoins(KDatabaseQuery $query)
 {
     $relation = $this->getTable()->getRelationTable();
     $id_column = $this->getTable()->getIdentityColumn();
     $query->join('inner', '#__' . $relation . ' AS crumbs', 'crumbs.descendant_id = tbl.' . $id_column);
     if ($this->getTable()->hasBehavior('orderable')) {
         // This one is to have a breadcrumbs style order like 1/3/4
         if (in_array($this->_state->sort, array('title', 'created_on', 'custom'))) {
             $query->join('inner', '#__docman_category_orderings AS o', 'crumbs.ancestor_id = o.' . $id_column);
         }
         // This one is to display the custom ordering in backend
         if (!$query->count) {
             $query->join('left', '#__docman_category_orderings AS o2', 'tbl.' . $id_column . ' = o2.' . $id_column);
         }
     }
     if ($this->_state->parent_id) {
         $query->join('inner', '#__' . $relation . ' AS r', 'r.descendant_id = tbl.' . $id_column);
     }
     parent::_buildQueryJoins($query);
 }
示例#2
0
 protected function _buildQueryJoins(KDatabaseQuery $query)
 {
     $query->join('LEFT', 'docman_categories AS c', 'tbl.docman_category_id = c.docman_category_id')->join('LEFT', 'users AS creator', 'tbl.created_by = creator.id')->join('LEFT', 'users AS modifier', 'tbl.modified_by = modifier.id')->join('LEFT', 'viewlevels AS viewlevel', '(CASE tbl.access WHEN -1 THEN COALESCE(c.access, 1) ELSE tbl.access END) = viewlevel.id');
     parent::_buildQueryJoins($query);
 }