[英]Blade: Undefined Variable Inside Foreach Loop
我有一个控制器,该控制器从数据库中获取用户日记的数组并将其传递给我的视图:
<?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
循环遍历日记。
<div id="diaries" class="card-columns">
@if (count($diaries) > 0)
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
@endif
</div>
但是我收到以下未定义的变量错误...
未定义的变量:日记(查看:C:\\ xampp \\ htdocs \\ personal_projects \\ Active \\ diary_app \\ resources \\ views \\ app \\ diary \\ readDiaries.blade.php)
为什么在$ @foreach
循环中未定义$ diary变量?
你有错字
将@foreach ($diaries as $dairy)
更改为@foreach ($diaries as $diary)
它应该工作!
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'));
}
这只是一个简单的拼写错误,
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
在您的foreach中,您要传递$dairy
并转储var名称为$diary
@foreach ($diaries as $dairy)
{{ var_dump($dairy) }}
@endforeach
复制粘贴的习惯有时对我们有好处... :)
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
您在foreach中使用了($ diaries作为$ dairy),但是在foreach中使用了($ diary)
您想要将此{{var_dump($ diary)}}编辑为{{var_dump($ dairy)}},或者您想要将@foreach($ diaries作为$ dairy)编辑为@foreach($ diaries作为$ diary)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.