コントローラから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)を表示せずに、あなたはforeachのループを持つとは、使用することができます。メソッド –
'prenom'は' Collection'の関数や属性ではありません。 '$ userByIdHealer'は' Collection'なので、それをループするか、最初のインスタンスを取得するために ' - > first()'を使う必要があります。 ' - > prenom'を使ってその属性にアクセスできるはずです。 –
@Tim Lewisがそれを手に入れました!コレクション内の多くのアイテムに到達する場合、 ' - > first()'の代わりに ' - > get()'を使うだけです。 – ettdro