Я не могу понять, почему, но я могу var_dump ($ cPage) и получить полный массив, но я не могу получить доступ к моей переменной в представлении. {{$ cPage-> code}} allways получает мне ошибку Undefined property: Illuminate \ Database \ Eloquent \ Collection :: $ code. Может ли кто-нибудь объяснить мне, почему?Laravel - Неопределенное свойство в массиве
Контроллер:
public function getPages($lang, $slug)
{
$cPage = Page::join('langs', 'langs.id', '=', 'pages.lang_parent_id')
->where('slug', '=', $slug)
->where('code', '=', $lang)
->get();
$mainPages = Page::where('parent_id', null)
->get();
$allPages = $this->getAllPages($mainPages);
return View::make('index')
->with('cPage', $cPage)
->with('mainPages', $mainPages)
->with('allPages', $allPages);
}
Просмотр
<ul class="nav">
<li class="dropdown">
<button type="submit" class="btn dropdown-toggle icon-white" data-toggle="dropdown"> {{ $cPage->code }} <b class="caret"></b></button>
<ul class="dropdown-menu pull-right">
<li><a href="#">Português</a></li>
<li><a href="#">English</a></li>
</ul>
</li>
</ul>
var_dump($cPage)
массив (1) {[0] => массив (9) {[ "ID"] => string (1) "1" ["parent_id"] => NULL ["lang_parent_id"] => string (1) "1" ["translate_parent_id"] => NULL ["title"] => string (8) «Клиенты» [«slug»] => string (8) «clientes» ["sort"] => NULL ["name"] => string (10) "Português" ["code"] => строка (2) «пт»}}
Try -> первый() вместо get – lukasgeiter
Спасибо, он работал с -> first(). Можете ли вы предложить мне объяснение этому? –
Ваш запрос потенциально возвращает несколько результатов, чтобы получить возврат коллекции (даже если это только один результат). Сначала ограничивает запрос одним результатом и возвращает это – lukasgeiter