【发布时间】:2014-10-02 20:53:27
【问题描述】:
我正在使用 laravel 4,当我尝试使用下拉菜单创建菜单时出现此错误
试图获取非对象的属性(查看:/Applications/MAMP/htdocs/test/app/views/layouts/master.blade.php)(查看:/Applications/MAMP/htdocs/test/app/views /layouts/master.blade.php)
我看不出哪里出错了
我的master.blade.php
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">work<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
@foreach($dropdowns as $dropdown)
<li>
{{ $dropdown->title }}
</li>
@endforeach
</ul>
</li>
我的页面控制器
$currentPage = new Page($pages[0]->id);
$dropdowns = $currentPage->getPagesSelectList("parent", "", "");
return View::make('index', compact('dropdowns'));
我的页面模型
public function getPagesSelectList($name, $default = "", $js = "", $flag = true)
{
$list = array(
'name' => $name,
'default' => $default,
'js' => $js,
'pages' => $this->getSubPages($flag, $default)
);
return (object)$list;
}
public function getSubPages($flag, $default, $parent = 0, $num = 1)
{
$pages = array();
$pageSql = \Page::where('parent', '=', $parent)->orderBy('num', 'ASC')->get();
foreach ($pageSql as $result)
{
$page = new Page($result->id);
$page->setFromDatabase();
$page->default = $default;
$page->select = '';
if( $page->id == $default )
$page->select = $default;
$page->space = $num;
if(!empty($page))
$pages[] = $page;
$children = $page->getSubPages($flag, $default, $page->id, $num + 1);
if(!empty($children))
$pages[] = $children;
}
return array_flatten($pages);
}
【问题讨论】:
标签: laravel drop-down-menu laravel-4 blade