@eachについて
Q&A
1. 【必須】やりたい・やりたかったこと
@eachで、定義したはずの変数が、Undefinedエラーになった理由を知りたい
2. 【必須】起きている問題やエラーメッセージ ※できるだけ詳細に書いてください
Undefined variable: first
3. 【必須】ご自身で試されたこと ※できるだけ詳細に書いてください
エラーの原因はわかっています。
controllerにある、$data2をviewに送り、viewで、@eachを使い、componentに送り、その中身をcomponentで表示させるといった流れで
その際に、こんな感じで、[]の値を統一したら、firstの内容を読み取って、表示は無事にされたのですが、「」の中のfirstを統一させなかったらどうなるのか試そうと思い、2つ目のfirstを、secondに変えたら今回のようなエラーになりました。
$data2 = [
['first'=>'1'],
['first=>'2']
];
エラー文のUndefined index: first謎で、2つ目はsecondに変えたけど、1つ目の['first'=>'1']はそのまま残してあるので、Undefinedつまり、見つからないということはないのではないかと思い、なんでこのエラーが出るのか質問をしているという状況でございます。
4. 関連するソースコードやスクリーンショット
controller(今回は、data2のほうを使っています)
public function index2()
{
$data = [
['name'=>'山田たろう', 'mail'=>'taro@yamada'],
['name'=>'田中はなこ', 'mail'=>'hanako@flower'],
['name'=>'鈴木さちこ', 'mail'=>'sachico@happy']
];
$data2 = [
['first'=>'1'],
['second'=>'2']
];
return view('hello.index2', ['data'=>$data], ['data2'=>$data2]);
}
view
<ul>
@each('components.item', $data2, 'item')
</ul>
components
<table>
<tr>
<th class="design01">{{$item['first']}} </th>
</tr>
</table>
5. 関連するURL ※GithubのリポジトリリンクやサーバーのURLなど
6. 使用言語・ライブラリのバージョン ※できるだけ詳細に書いてください
Laravel Framework 8.83.1
0