Путь Ларавела Баума к Узлу

У меня есть модель страницы, эта модель содержит поле Slug. Можно ли получить путь к узлам? ( root/page1/sub1/)

Мне нужны пути для моей навигации, запрос выглядит так:

$pages = Page::first()->getDescendants()->toHierarchy();

и результат:

<ul>
   <li><a href="/root">root</a>
      <ul>
        <li><a href="/root/page1">page1</a>
            <ul>
                <li><a href="/root/page1/sub1">sub1</a></li>
                <li><a href="/root/page1/sub2">sub2</a></li>
            </ul>
        </li>
        <li><a href="/root/page2">page2</a>
            <ul>
                <li><a href="/root/page2/sub1">sub1</a></li>
                <li><a href="/root/page2/sub2">sub2</a></li>
            </ul>
        </li>
        <li><a href="/root/page3">page3</a></li>
     </ul>
  </li>

1 ответ

Это дает вам путь к вашему узлу:

SELECT ancestor.*
FROM category as child, category as ancestor 
WHERE child.lft >= ancestor.lft AND child.lft <= ancestor.rgt 
AND child.id = YOUR_CHILD_ID
ORDER BY ancestor.lft
Другие вопросы по тегам