Laravel |获取当前页面的指定数据

Laravel |获取当前页面的指定数据,laravel,eloquent,laravel-blade,Laravel,Eloquent,Laravel Blade,我正在尝试获取每个页面的元数据 每个页面都有一个唯一的slug 在appServiceProvider中,我有: $view->with('seopage', Page::all()); 在叶片视图(截面头部)中,我有: @外汇($sm) {{$sm->main_title} @endforeach 但是现在它为我提供了所有的标题和说明。如何获取指定页面的数据 页面模型具有唯一的SLUG变量。谢谢在appServiceProvider中,您可以共享属于指定页面的页面: $page=p

我正在尝试获取每个页面的元数据 每个页面都有一个唯一的slug


appServiceProvider
中,我有:

$view->with('seopage', Page::all());
在叶片视图(截面头部)中,我有:


@外汇($sm)
{{$sm->main_title}
@endforeach
但是现在它为我提供了
所有的标题
说明
。如何获取指定页面的数据


页面模型具有
唯一的SLUG变量
。谢谢

appServiceProvider
中,您可以共享属于指定页面的页面:

$page=page::where('slug',Request::path())->first();
视图::共享('seopage',$page);
在视图中,您可以检索共享变量:

<meta name="description" content="
  @if(Request::is('/*') && isset($seopage))
  {{ $seopage->site_description }}
  @endif
">

appServiceProvider
中,您可以共享属于指定页面的页面:

$page=page::where('slug',Request::path())->first();
视图::共享('seopage',$page);
在视图中,您可以检索共享变量:

<meta name="description" content="
  @if(Request::is('/*') && isset($seopage))
  {{ $seopage->site_description }}
  @endif
">

您必须在seopage表中具有唯一的uri列

你必须使用的是

use Illuminate\Support\Facades\Route;

.....

$uri = \Route::current()->uri;
$seopage =  Page::where('uri', $uri)->first();

if ($seopage) {
    $seo = sprintf(
        '<title>%s</title>'  . PHP_EOL
        . '<meta name="description" content="%s>',
        $seopage->main_title ,
        $seopage->site_description
    );
} else {
    $seo = '';
}
$view->with('seo', $seo);

您必须在seopage表中具有唯一的uri列

你必须使用的是

use Illuminate\Support\Facades\Route;

.....

$uri = \Route::current()->uri;
$seopage =  Page::where('uri', $uri)->first();

if ($seopage) {
    $seo = sprintf(
        '<title>%s</title>'  . PHP_EOL
        . '<meta name="description" content="%s>',
        $seopage->main_title ,
        $seopage->site_description
    );
} else {
    $seo = '';
}
$view->with('seo', $seo);

什么意思
有唯一的slug变量
?您可以发布您的
页面
型号吗?您正在向每个刀片服务器发送所有页面信息。这就是为什么你得到了所有的头衔。如果你想过滤它,你必须在appServiceProvider上进行。你说的
有唯一的slug变量是什么意思?您可以发布您的
页面
型号吗?您正在向每个刀片服务器发送所有页面信息。这就是为什么你得到了所有的头衔。如果要过滤它,必须在appServiceProvider上进行。