检查数据并将其添加到 url

Checking and adding data to url

我有一个 HeaderData 模型,它有两个字段:

$table->string('url');
$table->text('data');

通过BaseController,我为所有控制器添加了一个方法,以免重复代码:

protected $header_data;

public function __construct() 
{
    $this->header_data = HeaderData::all();
    
    View::share('header_data', $this->header_data);
}

我在页面上显示这个,head 中的 data 字段:

@foreach ($header_data as $data)
    {!! $data->data !!}
@endforeach

但对我来说,它显示了那里的所有 data,但我只需要它用于当前页面,所以有一个 url 字段。我需要进行类型检查,如果我们在 url 字段中指定的页面上,那么我们将显示同一页面的 data 字段。这是一个例子:

添加

"url": "/contacts"
"data": "<title>Contacts TEST</title>
<meta name="description"  content="test CONTACTS" />"

假设我们检查如果我们现在在联系人页面上,那么我们只显示联系人的 data 字段。如果页面是博客,那么我们会显示博客的 data

但是我还不知道该怎么做,有人可以告诉我吗?我可以在这个控制器中做对吗?

在你的控制器中

$header_data = HeaderData::where(['url'=>Route::currentRouteName()])->first();

在blade

{!! $header_data->data !!}

或者你可以试试

@foreach($header_data as $data)
    @if(Route::currentRouteName() === $data->url)
        {!! $header_data->data !!}
    @endif
@endforeach