Actions

API16

JTableNested/getPath

From Joomla! Documentation

< API16:JTableNested
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Method to get an array of nodes from a given node to its root.

[Edit Descripton]

Description:JTableNested/getPath

Syntax

getPath($pk=null, $diagnostic=false)
Parameter Name Default Value Description
$pk null Primary key of the node for which to get the path.
$diagnostic false Only select diagnostic data for the nested sets.

Returns

mixed Boolean false on failure or array of node objects on success.

Defined in

libraries/joomla/database/tablenested.php

Importing

jimport( 'joomla.database.tablenested' );

Source Body

public function getPath($pk = null, $diagnostic = false)
{
        // Initialise variables.
        $k = $this->_tbl_key;
        $pk = (is_null($pk)) ? $this->$k : $pk;
 
        // Get the path from the node to the root.
        $select = ($diagnostic) ? 'SELECT p.'.$k.', p.parent_id, p.level, p.lft, p.rgt' : 'SELECT p.*';
        $this->_db->setQuery(
                $select .
                ' FROM `'.$this->_tbl.'` AS n, `'.$this->_tbl.'` AS p' .
                ' WHERE n.lft BETWEEN p.lft AND p.rgt' .
                ' AND n.'.$k.' = '.(int) $pk .
                ' ORDER BY p.lft'
        );
        $path = $this->_db->loadObjectList();
 
        // Check for a database error.
        if ($this->_db->getErrorNum()) {
                $this->setError($this->_db->getErrorMsg());
                return false;
        }
 
        return $path;
}

[Edit See Also] SeeAlso:JTableNested/getPath

Examples

<CodeExamplesForm />