如何在laravel Blade视图中的嵌套对象中使用数据?

时间:2015-01-14 15:07:59

标签: php object laravel blade

我试图在laravel Blade视图中使用嵌套对象中的数据。

我正在使用Laravel 4.2。

以下是数据样本," $ arContent":

stdClass Object
(
    [h1-title] => stdClass Object
        (
            [h3-sub-title] => Safe, Affordable Self-Storage
            [img] => Array
                (
                    [0] => Caption 1
                    [1] => Caption 2
                    [2] => Caption 4
                )
        )
)

我将它传递给视图"对象":

// show the view and pass the page and domain recrods to it
return View::make('objects')
    ->with('page', $page)
    ->with('content', $arContent)
    ->with('domain', $domain);

在这里,我试图在视图中检索一个值:

<h2>
{{ $content->h1-title->h3-sub-title }}
</h2>

我从上面得到的错误是:

  

未定义的属性:stdClass :: $ h1

我也尝试过:

<h2>
    {{ $content->h1-title->h3-sub-title }}
</h2>

然后我收到以下错误:

  

语法错误,意外&#39; - &gt;&#39; (T_OBJECT_OPERATOR),期待&#39;,&#39;要么   &#39 ;;&#39;

我认为我想要做的事情显而易见:我希望能够访问嵌套对象的值尽可能多的&#34;层&#34;我想要的。我已经在Google上搜索了上面尝试过的不同方法,现在我不知道Laravel是否期望某些不同/不支持这种情况,或者我是否做了一些愚蠢的事情。

任何有关如何执行此操作的指导将不胜感激。

1 个答案:

答案 0 :(得分:4)

试试这个:

{{ $content->{'h1-title'}->{'h3-sub-title'} }}

您收到错误,因为您无法使用“ - ”调用属性。尽量避免带“ - ”的名字。 更好的名字将是“h1_title”“h3_sub_title”