Laravel Baum到Node的路径


Laravel Baum path to Node

我有一个Page模型,这个模型包含一个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>

这给了您节点的路径:

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