public MenuTreeStorage::getAllChildIds($id)
Loads all the IDs for menu links that are below the given ID.
Parameters
string $id: The parent menu link ID.
Return value
array An unordered array of plugin IDs corresponding to all children.
Overrides MenuTreeStorageInterface::getAllChildIds
File
- core/lib/Drupal/Core/Menu/MenuTreeStorage.php, line 1051
Class
- MenuTreeStorage
- Provides a menu tree storage using the database.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public function getAllChildIds( $id ) { $root = $this ->loadFull( $id ); if (! $root ) { return array (); } $query = $this ->connection->select( $this ->table, $this ->options); $query ->fields( $this ->table, array ( 'id' )); $query ->condition( 'menu_name' , $root [ 'menu_name' ]); for ( $i = 1; $i <= $root [ 'depth' ]; $i ++) { $query ->condition( "p$i" , $root [ "p$i" ]); } // The next p column should not be empty. This excludes the root link. $query ->condition( "p$i" , 0, '>' ); return $this ->safeExecuteSelect( $query )->fetchAllKeyed(0, 0); } |
Please login to continue.