我嘗試將數據從控制器發送到Laravel 5.4上的視圖。Laravel - 無法通過視圖傳遞數據
我的控制器 「PagesController.php」:
public function bird($id) {
$infoBirdById = new InfoBird();
$birdById = $infoBirdById->getBirdById($id);
$infoHealthById = new InfoHealth();
$healthById = $infoHealthById->getHealthById($id);
$infoTransportByIdBird = new InfoTransport();
$transportByIdBird = $infoTransportByIdBird->getTransportByIdBird($id);
$infoUserByIdHealer = new InfoUser();
$userByIdHealer = $infoUserByIdHealer->getUserByIdHealer($id);
var_dump($userByIdHealer);
//var_dump($birdById);
//var_dump($healthById);
//var_dump($transportByIdBird);
return view('pages.bird', compact('birdById', 'healthById', 'userByIdHealer', 'transportByIdBird'));
}
視圖 「bird.blade.php」 的提取物:
<div class="block block-name">
<h2>{{ $userByIdHealer->prenom }} {{ $userByIdHealer->nom }}</h2>
</div>
以下是錯誤:屬性[prenom]不存在於此收集實例上。
userByIdhealer的轉儲的結果:
object(Illuminate\Support\Collection)[216]
protected 'items' =>
array (size=1)
0 =>
object(stdClass)[223]
public 'id_biodiv_acteur' => int 3
public 'nom' => string 'Rinaire' (length=7)
public 'prenom' => string 'Vété' (length=6)
public 'civilite' => string 'Homme' (length=5)
public 'date_naissance' => string '2017-05-10' (length=10)
ect...
所以我不明白爲什麼我有這樣的錯誤,因爲在轉儲我可以看到「prenom」在這裏......
感謝您的幫助!
顯示您getUserByIdHealer($ ID);方法 –
'prenom'不是'Collection'上的函數或屬性。因爲'$ userByIdHealer'是一個'Collection',所以你需要循環它,或者使用' - > first()'獲得第一個實例,那麼你應該可以使用' - > prenom'來訪問該屬性。 –
@蒂姆劉易斯明白了!如果你到達一個集合中的許多項目,只需使用' - > get()'而不是' - > first()'。 – ettdro