2015-01-14 3 views
1

Я пытаюсь использовать данные во вложенном объекте в виде ларавелла Blade.Как использовать данные во вложенном объекте в виде ларавелла 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> 

ошибка, что я получаю от выше:

Undefined property: stdClass::$h1

Я также попытался:

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

И тогда я получаю следующее сообщение об ошибке:

syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ';'

Я думаю, это очевидно, что я пытаюсь сделать: я хочу, чтобы иметь возможность доступа значения вложенного объекта, как и многие «слои», как я хочу. Я искал Google для разных подходов, рассмотренных выше, и сейчас я не знаю, ожидает ли Laravel чего-то другого/не поддерживает это, или если я делаю что-то глупое.

Любые рекомендации относительно того, как это сделать, будут оценены.

+0

Что относительно 'var_dump ($ content)' в представлении - это не решение, но, возможно, поможет – violator667

ответ

3

Попробуйте это:

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

Вы получаете сообщение об ошибке, потому что вы не можете назвать Свойс с "-". Старайтесь избегать имен с «-». Гораздо более лучшее имя будет «h1_title» «h3_sub_title»

+0

Wow. Потрясающие. Где в мире это в документах Blade? – shamelesshacker

+0

@shamelesshacker - Это не имеет ничего общего с лезвием. Это прямо вверх по PHP. –

+0

Читать это :) http://www.php-fig.org/psr/psr-1/ – xAoc

Смежные вопросы