Blade:Foreach 循环内的未定义变量
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>
但我收到以下未定义变量错误...
Undefined variable: diary (View: C:\xampp\htdocs\personal_projects\Active\diary_app\resources\views\app\diary\readDiaries.blade.php)
为什么我的 $diary 变量在 @foreach
循环中未定义?
你打错了
将@foreach ($diaries as $dairy)
更改为@foreach ($diaries as $diary)
它应该可以工作!
var_dump 中存在一些错字,请使用 {{ var_dump($dairy) }}
传数据尽量使用compact方式查看如下图
//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 中使用了 ($diaries as $dairy)
但是在 foreach 中你使用了 ($diary)
你想把这个{{ var_dump($diary) }}编辑成{{ var_dump($dairy) }}
或者你想将@foreach ($diaries as $dairy) 编辑为@foreach ($diaries as $diary)
这只是一个简单的拼写错误,
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
在您的 foreach 中,您传递的是 $dairy
并且转储变量名称是 $diary
改成
@foreach ($diaries as $dairy)
{{ var_dump($dairy) }}
@endforeach
复制粘贴的习惯有时对我们有好处...
:)
我有一个控制器,它从我的数据库中获取一组用户日记并将它们传递到我的视图:
<?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>
但我收到以下未定义变量错误...
Undefined variable: diary (View: C:\xampp\htdocs\personal_projects\Active\diary_app\resources\views\app\diary\readDiaries.blade.php)
为什么我的 $diary 变量在 @foreach
循环中未定义?
你打错了
将@foreach ($diaries as $dairy)
更改为@foreach ($diaries as $diary)
它应该可以工作!
var_dump 中存在一些错字,请使用 {{ var_dump($dairy) }} 传数据尽量使用compact方式查看如下图
//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 中使用了 ($diaries as $dairy) 但是在 foreach 中你使用了 ($diary)
你想把这个{{ var_dump($diary) }}编辑成{{ var_dump($dairy) }} 或者你想将@foreach ($diaries as $dairy) 编辑为@foreach ($diaries as $diary)
这只是一个简单的拼写错误,
@foreach ($diaries as $dairy)
{{ var_dump($diary) }}
@endforeach
在您的 foreach 中,您传递的是 $dairy
并且转储变量名称是 $diary
改成
@foreach ($diaries as $dairy)
{{ var_dump($dairy) }}
@endforeach
复制粘贴的习惯有时对我们有好处... :)