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); }
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); }