Путь Ларавела Баума к Узлу
У меня есть модель страницы, эта модель содержит поле 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