在尝试打印集合laravel时尝试获取非对象的属性

时间:2018-01-19 11:39:59

标签: laravel

我正在尝试在laravel中进行收集并尝试在视图中打印它,但这显示我错误

  

尝试获取非对象的属性

有人告诉我哪里错了。

$seo = Collection::make([
    "meta_title" => "Eco Elegant - Frp Dustbins & Planters Manufacturers in India",
    "meta_desc" => "Eco Elegant is the leading manufacturer and designers of stainless steel/ (Fiber Reinforced Plastic) FRP planters and dustbins for places with diverse usage needs.",
    "meta_keyword" => "Eco Elegant, Frp Dustbins, Frp Planters, Stainless Steel Dustbins, Stainless Steel Planter, Dustbins and Planter Suppliers, Exporters in India"
]);

@if($seo->count() > 0)
    @foreach($seo as $seo1)
    <title>{{ $seo1->meta_title }}</title>
    <meta name="description" content="{{ $seo1->meta_desc }}">
    <meta name="keywords" content="{{ $seo1->meta_keyword }}">
    @endforeach
@else               
    <title>Eco Elegant</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
@endif

3 个答案:

答案 0 :(得分:1)

您需要访问数组索引,如

$seo1['meta_title']

而不是

$seo1->meta_title

答案 1 :(得分:1)

由于集合中只有一个数组,而不是数组或对象的集合,因此您不需要迭代它。

因此,请删除foreach()部分并使用:

$seo->meta_title

而不是:

$seo1->meta_title

答案 2 :(得分:0)

根据您的问题,您似乎只有一个项目。所以删除foreach并尝试一次

 @if($seo->count()>0)
    <title>{{$seo->meta_title}}</title>
    <meta name="description" content="{{$seo->meta_desc}}">
    <meta name="keywords" content="{{$seo->meta_keyword}}">
@else               
    <title>Eco Elegant</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
@endif