【问题标题】:Outputting Multidimensional Array in View在视图中输出多维数组
【发布时间】:2015-09-08 12:44:34
【问题描述】:

我目前正在处理一个 Laravel 项目并运行以下查询来构建这个多维数组:

基本上我要做的是查看 5 种不同的状态,并计算有多少具有某种状态的应用程序分配给了某个管理员。

我遇到的问题是在我的视图上输出这些数据。这是我目前所拥有的:

我收到一条错误消息,提示未定义索引 first_name。

任何帮助将不胜感激!

编辑:这是 var_dump($totalCounts); 的输出

【问题讨论】:

    标签: php arrays laravel multidimensional-array laravel-4


    【解决方案1】:

    你得到未定义索引的原因是你没有分配一个精确的索引first_name

    假设用户的名字是Burak,状态是Something,下面一行中的计数是5。

    $totalCount[$count->first_name][$count->status] = $count->count;
    

    实际上你的分配如下。

    $totalCount['Burak']['Something'] = 5;
    

    因此,如果您想访问它,那么您需要访问您视图中的名字。要在您的视图中访问它们:

    @foreach ($totalCount as $name => $count)
        <tr>
          <td>
            {{$name}}
            <br>
            <a href="#">Closed</a>
          </td>
          @for($i = 1; $i <= 6; $i++)
               <td><a href="#">
               @foreach ($count as $status => $c)
                    @if($i == $status)
                        {{ $c }}
                    @endif
               @endforeach
               </a></td>
          @endfor
        </tr>
     @endforeach
    

    【讨论】:

    • 我明白你的意思。如果你现在看,我已经添加了我的数组的 var_dump。问题是我有多个名字,每个人都有状态数组和在您的示例中为 status_count 的计数。在我的视图中,我试图查看如何迭代此 $totalCount 并输出该名字。然后 if(status ==2) 输出 status_count where status = 2 在数组中。如果这更有意义
    • 嘿 Burak 我还是有问题。在我输出数据的表上,它没有排队,这意味着它为名称做了一个新行,即使我希望它全部在一行上。这是我的代码:pastebin.com/SP60SuPM
    • 这是因为您在$name 之后有一个
      标签。删除它,你就没事了。
    • 但这只是在该表记录中,它不应该影响表的其余部分。我只是把它放在名称和关闭链接之间
    • 您的标签在错误的位置打开和关闭。实际上,如果您的代码结构是这样的,您甚至不需要 if 标记。将开始和结束&lt;td&gt; 标记放在foreach 块中。看到这个:pastebin.com/svFRNnNx 实际上,它应该是这样的:pastebin.com/90xjWMYP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多