我正在尝试使用嵌套子项创建一个uri(使用laravel框架)。
我的问题是我当前的代码,我只检索孩子的上述父母。而不是父母之上的父母(如果存在)等等.....
(我的数据库表有一个列'parent',其中包含上面父项的id)
有人可以帮我解决这个问题吗?
我的代码:
$pageRoutes = array();
foreach ($pages as $page) {
$pageRoutes[] = self::PageRoute($page->id, $page->parent, $page->uri, $searchTerm);
}
我打电话的功能:
public function PageRoute($pageId, $parent, $prevUri = null, $searchTerm = false)
{
if (isset($parent) && $parent == null)
$pages = DB::table('tblpages')
->select('tblpages.id','tblpages.uri')
->whereNull('tblpages.parent')
->where('tblpages.is_active', '=', true)
->get();
else
$pages = DB::table('tblpages')
->select('tblpages.id', 'tblpages.uri', 'tblpages.parent')
->where('tblpages.parent', '=', $pageId)
->where('tblpages.name', 'LIKE', $searchTerm)
->where('tblpages.is_active', '=', true)
->get();
$path = array();
foreach ($pages as $page)
{
if ($page->uri != '/')
$page->uri = $prevUri.'/'.$page->uri;
$path[$page->id] = $page;
$path = self::PageRoute($page->id, $page->uri, $prevUri) + $path;
}
return $path;
}
提前谢谢!!
答案 0 :(得分:1)
您有什么理由可以使用Request::segement()吗?
http://example.com/first/second/third
Request::segment(1) // "first"
Request::segment(2) // "second"
Request::segment(3) // "third"