You are here

public function MenuTreeStorage::getRootPathIds in Colossal Menu 8

Same name and namespace in other branches
  1. 2.x src/Menu/MenuTreeStorage.php \Drupal\colossal_menu\Menu\MenuTreeStorage::getRootPathIds()

Returns all the IDs that represent the path to the root of the tree.

array(
  'p1' => 1,
  'p2' => 6,
  'p3' => 8,
  'p4' => 0,
  'p5' => 0,
  'p6' => 0,
  'p7' => 0,
  'p8' => 0,
  'p9' => 0,
);

Parameters

string $id: A menu link ID.

Return value

array An associative array of IDs with keys equal to values that represents the path from the given ID to the root of the tree. If $id is an ID that exists, the returned array will at least include it. An empty array is returned if the ID does not exist in the storage. An example $id (8) with two parents (1, 6) looks like the following:

Overrides MenuTreeStorageInterface::getRootPathIds

File

src/Menu/MenuTreeStorage.php, line 312

Class

MenuTreeStorage
Provides a menu tree storage using the database.

Namespace

Drupal\colossal_menu\Menu

Code

public function getRootPathIds($id) {
  return $this->connection
    ->select($this->table, 't')
    ->fields('t', [
    'ancestor',
  ])
    ->condition('t.descendant', $id)
    ->orderBy('t.depth', 'DESC')
    ->execute()
    ->fetchCol();
}