【问题标题】:Blade: Undefined Variable Inside Foreach LoopBlade:Foreach 循环内未定义的变量
【发布时间】:2018-05-17 15:15:30
【问题描述】:

我有一个控制器,它从我的数据库中获取用户日记的数组并将它们传递给我的视图:

<?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>

但我收到以下未定义变量错误...

未定义变量:diary(查看:C:\xampp\htdocs\personal_projects\Active\diary_app\resources\views\app\diary\readDiaries.blade.php)

为什么我的 $diary 变量在 @foreach 循环中未定义?

【问题讨论】:

  • 只是打错了
  • 只是拼写错误 foreach $dairy 和 vardump $diary
  • 也许只是将其标记为错字?

标签: php laravel laravel-5 foreach laravel-blade


【解决方案1】:

你有错别字

@foreach ($diaries as $dairy) 更改为@foreach ($diaries as $diary)

它应该可以工作!

【讨论】:

  • 萨普内什,谢谢!!我马上再煮一杯(更浓的)咖啡,这种事情还为时过早!
【解决方案2】:

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'));
}

【讨论】:

    【解决方案3】:
    @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)

    【讨论】:

      【解决方案4】:

      这只是一个简单的拼写错误,

       @foreach ($diaries as $dairy)
        {{ var_dump($diary) }}
       @endforeach
      

      在您的 foreach 中,您传递 $dairy 并且转储变量名称为 $diary 改成

      @foreach ($diaries as $dairy)
        {{ var_dump($dairy) }}
      @endforeach
      

      复制粘贴的习惯有时对我们有好处... :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-19
        • 2012-04-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多