搜索引擎优化url未在laravel中显示

搜索引擎优化url未在laravel中显示,laravel,laravel-4,seo,Laravel,Laravel 4,Seo,我正忙着创建一个使用seo URL的网站。我有一个包含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 'pa

我正忙着创建一个使用seo URL的网站。我有一个包含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;
} 
My master.blade.php

@foreach($menus as $menu)

    <li>
        {{ HTML::link(getSeo($menu->id), $menu->title) }}
    </li>
@endforeach

然后它显示在底部部分,如果您将鼠标悬停在链接上,您可以看到url,但如果您单击链接,则会出现路由错误

但如果我这样做:

if(!empty($seo[0]->url)){
    $menu_id = $seo[0]->url;
    return 'page/'. $menu_id;
}
然后它工作,但我的内容没有显示,当我点击链接


如果您需要任何信息,请告诉我

我想问题可能出在您的第二个If声明中

if(!empty($seo[0]->url)){
    return 'page/'. $menu_id;
}
你基本上是说如果url不是空的,返回页面/菜单id

下一行仅在$seo[0]->url为空时返回该url

您的if声明应该是:

if(empty($seo[0]->url)){
    return 'page/'. $menu_id;
}
if(!empty($seo[0]->url)){
    return 'page/'. $menu_id;
}
if(empty($seo[0]->url)){
    return 'page/'. $menu_id;
}