laravel

Laravelでコントローラー側からview側にデータを送る方法【コード付き】

2021年8月13日

地球儀

 

あなた
laravelでコントローラー側からview側にデータを送る方法を教えて下さい。

 

今回はこんな要望にお答えしていきます。

 

Laravelでコントローラー側からview側にデータを送る方法

 

結論から話すと、以下のような感じでOKです。

 

return view('viewファイル', compact('データ'));

 

もう少し詳しく解説します。

 

例:$dataというデータをindexというviewに渡したい時

 

$dataをuserフォルダ配下のindexというviewファイルに渡したい時は以下のような感じでOKです。

 

return view('user.index', compact('data'));

 

これでview側で、$dataという変数が使用可能です。

基本はこの形でOKです。

 

Attempt to read property "データ名" on string というエラーが出た場合

 

viewファイルに渡そうとしたときに、たまに「Attempt to read property "ホゲホゲ" on string 」というエラーが出るときがあります。

解決方法を紹介します。

 

解決策:取得しているデータの型を確認しましょう

 

配列じゃないのに、foreachで回してプロパティにアクセスしようとしたりするとこのようなエラーが出ます。

例えば以下のような感じですかね。

 

@foreach ($query_data as $data) //そもそも$query_dataが配列じゃない
 {{ $data }}
@endforeach                                        

 

いったんコントローラー側で「var_dump($query_data)」とかして、変数の型をチェックしてみてください。

 

Cannot use object of type stdClass as arrayと出た場合

 

Cannot use object of type stdClass as arrayというエラーは、そのエラーの表記通り、「stdClassを間違えて配列扱いしてしまっている」ことが原因です。

例えば、以下の場合、$query_dataがstdClassだとエラーが出ます。

 

@php
 echo($query_data['name']);
@endphp

 

解決策を紹介します。

 

解決策:アクセス方法を変更しましょう

 

結論から話すと、stdClassの値が欲しい場合は、「->」でプロパティにアクセスすればOKです。

以下のような感じですね。

 

@php
 echo($query_data->name);
@endphp

// {{ $query_data->name }}でもOK
//laravelは{{}}(マスタッシュ)で変数展開できます★

 

上記ならうまくいくはずです。

 

ということで、今回はlaravelにおいてコントローラーからviewにわたす方法を紹介しつつ、よくあるエラーも紹介しました。

「データは渡せているのに、view側の記述がおかしくてエラーが出てしまう」というのはあるあるです。

初心者の方の場合だと、混乱しちゃいがちですが、冷静になって考えれば原因もわかるはずです。

この記事が解決の糸口になれば幸いです。

 

プログラミングスクールに関する情報

【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
【転職保証つき】返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。   1位:DMMWEBキャンプ  【 ...

続きを見る

wordpress
【無料あり】WEB制作を学べるオンラインスクールランキング【副業で稼ぎたい方向け】

  あなたWeb制作の副業で稼ぎたいけど、どのスクールで学ぶのが良いの? スクール選びで失敗はしたくないです。   ↑このような疑問や不安を解決するべく、現役のWebエンジニアがWEB制作を学べるスク ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   結論から話すと、WEB系自社開発に行きやすいスクールのランキングは以下の通り。   第1位:テックアカデミー ...

続きを見る

-laravel

© 2022 エンジニアてんし君ブログ