我無法弄清楚爲什麼,但我可以var_dump($ cPage)並獲得完整的數組,但我無法在視圖中訪問我的變量。 {{$ cPage-> code}} allways得到一個「未定義的屬性: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」] =>字符串(1)「1」[「parent_id」] => NULL [「lang_parent_id」] =>字符串(1)「1」[「translate_parent_id」] => NULL [「title」] => string (8)「Clientes」[「slug」] => string(8)「clientes」 [「sort」] => NULL [「name」] => string(10)「Português」[「code」] => 字符串(2) 「PT」}}
嘗試 - >第一()而不是得到 – lukasgeiter 2014-11-04 18:04:11
謝謝,它使用 - > first()。你能爲我提供一個解釋嗎? – 2014-11-04 18:07:54
您的查詢可能會返回多個結果,因此返回一個集合(即使它只有一個結果)。首先將查詢限制爲一個結果並返回該結果 – lukasgeiter 2014-11-04 18:11:55