我试图将一些SEO值传递给刀片视图。
我的刀片视图如下:
@if(!empty($page_data))
<?php $page_data = $page_data[0]; ?>
<title>{{ $page_data->page_seo_title }}</title>
<meta name="description" content="{{ $page_data->page_seo_desc }}">
<input type="hidden" name="page_id" class="page_id" value="{{ $page_data->page_id }}">
@endif
当我通过以下收集视图时,我收到错误:
尝试获取非对象的属性
我的收藏品如下:
Collection {#286 ▼
#items: array:1 [▼
0 => array:2 [▼
"page_seo_title" => "SEO Title"
"page_seo_desc" => "SEO Desc"
]
]
}
我正在构建集合,如下所示:
// Set Page Data
$page_data = collect(
[
[
'page_seo_title' => 'SEO Title',
'page_seo_desc' => 'SEO Desc'
]
]
);
我是否需要在集合中定义其他内容以使其获得&#39;拿起来了?
值得指出的是,page_data适用于在其上运行Eloquent Query的页面,因此这不是问题。它&#39;只是这些动态页面,我需要设置。理想情况下,我不需要更改刀片/视图逻辑。只是集合/控制器逻辑。
答案 0 :(得分:0)
我已经根据您的代码更新了一些小例子,并且已经测试了一次
$page_data = collect(
[
[
'page_seo_title' => 'SEO Title',
'page_seo_desc' => 'SEO Desc'
]
]
);
//here it will print all data
print_r($page_data->toArray());
$data=$page_data->toArray();
// here it will print particular data
echo $data[0]['page_seo_title'];
<强>更新强>
控制器中的
$data=$page_data->toArray();
return view('viewname',['data',$data];
在你的刀片中
@if(!empty($data))
<?php $new_data = $data[0]; ?>
<title>{{ $new_data['page_seo_title'] }}</title>
<meta name="description" content="{{ $new_data['page_seo_desc'] }}">
<input type="hidden" name="page_id" class="page_id" value="{{ $new_data['page_id'] }}">
答案 1 :(得分:0)
您的收藏中没有page_id属性,但您可以在刀片视图中访问该属性。 请检查你的那条
<input type="hidden" name="page_id" class="page_id" value="{{ $page_data->page_id }}">
您可以访问page_id,但您的收藏中不包含带有page_id的属性。