Laravel Baum到Node的路径

时间:2014-05-27 08:35:39

标签: php laravel nested-sets

我有一个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>

1 个答案:

答案 0 :(得分:0)

这为您提供了节点的路径:

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