本文整理汇总了PHP中JTableNested::root_id方法的典型用法代码示例。如果您正苦于以下问题:PHP JTableNested::root_id方法的具体用法?PHP JTableNested::root_id怎么用?PHP JTableNested::root_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JTableNested
的用法示例。
在下文中一共展示了JTableNested::root_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRootId
/**
* Gets the ID of the root item in the tree
*
* @return mixed The primary id of the root row, or false if not found and the internal error is set.
*
* @since 11.1
*/
public function getRootId()
{
if ((int) self::$root_id > 0) {
return self::$root_id;
}
// Get the root item.
$k = $this->_tbl_key;
// Test for a unique record with parent_id = 0
$query = $this->_db->getQuery(true)->select($k)->from($this->_tbl)->where('parent_id = 0');
$result = $this->_db->setQuery($query)->loadColumn();
if (count($result) == 1) {
self::$root_id = $result[0];
return self::$root_id;
}
// Test for a unique record with lft = 0
$query->clear()->select($k)->from($this->_tbl)->where('lft = 0');
$result = $this->_db->setQuery($query)->loadColumn();
if (count($result) == 1) {
self::$root_id = $result[0];
return self::$root_id;
}
$fields = $this->getFields();
if (array_key_exists('alias', $fields)) {
// Test for a unique record alias = root
$query->clear()->select($k)->from($this->_tbl)->where('alias = ' . $this->_db->quote('root'));
$result = $this->_db->setQuery($query)->loadColumn();
if (count($result) == 1) {
self::$root_id = $result[0];
return self::$root_id;
}
}
$e = new UnexpectedValueException(sprintf('%s::getRootId', get_class($this)));
$this->setError($e);
self::$root_id = false;
return false;
}