我正忙着创建一个使用seo网址的网站。我有一个包含seo数据的表,它引用了我的菜单表。
这是我的助手功能
function getSeo($menu_id)
{
$seo = DB::table('seo')->where('menu_id', '=', $menu_id)->get();
if(empty($seo)){
return 'page/'. $menu_id;
}
if(!empty($seo[0]->url)){
return 'page/'. $menu_id;
}
return $seo[0]->url;
}
我的master.blade.php
@foreach($menus as $menu)
<li>
{{ HTML::link(getSeo($menu->id), $menu->title) }}
</li>
@endforeach
如果我删除
return 'page/'. $menu_id;
这
if(!empty($seo[0]->url)){
return 'page/'. $menu_id;
}
然后它会显示在底部,如果您将鼠标悬停在链接上,您可以看到该网址,但是如果您点击链接时会出现路由错误。
但如果我这样做:
if(!empty($seo[0]->url)){
$menu_id = $seo[0]->url;
return 'page/'. $menu_id;
}
然后它可以正常工作,但是当我点击链接时,我的内容并没有显示出来。
如果您需要任何信息,请告诉我
答案 0 :(得分:0)
我认为问题可能出在你的第二个if语句中。
if(!empty($seo[0]->url)){
return 'page/'. $menu_id;
}
您基本上是在说#34;如果网址不为空,请返回page / menu_id&#34;。
下一行只有在$seo[0]->url
为空时才会返回。
你的if语句应该是:
if(empty($seo[0]->url)){
return 'page/'. $menu_id;
}