我试图在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是否期望某些不同/不支持这种情况,或者我是否做了一些愚蠢的事情。
任何有关如何执行此操作的指导将不胜感激。
答案 0 :(得分:4)
试试这个:
{{ $content->{'h1-title'}->{'h3-sub-title'} }}
您收到错误,因为您无法使用“ - ”调用属性。尽量避免带“ - ”的名字。 更好的名字将是“h1_title”“h3_sub_title”