我有一个控制器,它从我的数据库中获取用户日记的数组并将它们传递给我的视图:
Error XXX -> general-error.html
在我看来,我正在使用<?php
public function readDiaries($hash)
{
$user = User::where('hash', $hash)->first();
$diaries = Diary::where('user_id', $user->id)->get();
return view('app.diary.readDiaries', ['diaries' => $diaries]);
}
循环遍历日记。
@foreach
但我得到以下未定义的变量错误......
未定义的变量:日记(查看:C:\ xampp \ htdocs \ personal_projects \ Active \ diary_app \ resources \ views \ app \ diary \ readDiaries.blade.php)
为什么我的$ diary变量在<div id="diaries" class="card-columns">
@if (count($diaries) > 0)
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
@endif
</div>
循环中未定义?
答案 0 :(得分:5)
你有一个错字
将@foreach ($diaries as $dairy)
更改为@foreach ($diaries as $diary)
它应该有效!
答案 1 :(得分:2)
var_dump中有一些拼写错误{{var_dump($ dairy)}} 尝试使用紧凑方法传递数据进行查看,如下所示
//return view('app.diary.readDiaries', compact('diaries'));
public function readDiaries($hash)
{
$user = User::where('hash', $hash)
->first();
$diaries = Diary::where('user_id', $user->id)
->get();
return view('app.diary.readDiaries', compact('diaries'));
}
答案 2 :(得分:2)
这只是一个简单的拼写错误,
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
在您的foreach中,您正在传递$dairy
并且转储var名称为$diary
chane it to
@foreach ($diaries as $dairy)
{{ var_dump($dairy) }}
@endforeach
复制贴的Habbit有时对我们有好处...... :)
答案 3 :(得分:1)
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
你在foreach中使用过($日记作为$ dairy)
但在foreach你使用($日记)
您希望将此{{var_dump($ diary)}}编辑为{{var_dump($ dairy)}} 或者你想将@foreach($ diaries作为$ dairy)编辑成@foreach($ diaries作为$ diary)