【问题标题】:fetch array data in blade view在刀片视图中获取数组数据
【发布时间】:2018-06-02 16:59:59
【问题描述】:

我有一个返回到刀片视图的数组。我的数组声明如下所示:

 $data = array(
     $topSell,
     $quantity
 );

包含的数据结构如下:

[
  [
   {
    "id": 4,
    "author_id": 3,
    "category_id": 3
   },
   {
    "id": 5,
    "author_id": 2,
    "category_id": 1
   },
  ],
  [
    100,
    200
  ]
]

我将此数组返回到我的刀片:

return view('report',['value' => $data]);

我想在刀片中获取这个数组,所以它看起来像:

id  author_id  Quantity
4      3         100
5      2         200

【问题讨论】:

  • 问题出在哪里?向我们展示您的刀片文件。
  • 我觉得把数量放在topSell object/s里会更好(基本合并)

标签: php arrays laravel laravel-5.3 blade


【解决方案1】:

假设$topSell$quantity 始终具有相同的大小,您可以只使用for 循环:

@for ($i = 0; $i < count($value[0]); $i++)
  <tr>
    <td>{{ $value[0][$i]->id }}</td>
    <td>{{ $value[0][$i]->author_id }}</td>
    <td>{{ $value[1][$i] }}</td>
  </tr>
@endfor

或者,您可以修改数据以将数量整合到您的对象中:

for ($i = 0; $i < count($data[0]); $i++) {
    $data[0][$i]->quantity = $data[1][$i];
}

然后,只返回视图中的第一个子数组:

return view('report',['value' => $data[0]]);

您可以在刀片中使用foreach

@foreach ($value as $element)
  <tr>
    <td>{{ $element->id }}</td>
    <td>{{ $element->author_id }}</td>
    <td>{{ $element->quantity }}</td>
  </tr>
@endforeach

更多循环语句详见the documentation

【讨论】:

  • 谢谢它的工作。但是 for 循环 $i
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 2021-11-06
  • 2019-09-03
  • 2019-01-16
相关资源
最近更新 更多