Laravel 访问另一个迭代器中的 collection 个元素
Laravel access collection elements within another iterator
我有数据库 table LovColumnComments
并且它包含:
----------------------------------------------------
| id | view | column | description |
----------------------------------------------------
| 1 | my_view | object_id | Object ID |
| 2 | my_view | description | Description |
----------------------------------------------------
我有另一个 table DataTable
包含实际数据。
-------------------------------------
| id | object_id | description |
-------------------------------------
| 1 | OBJ_01 | Object 01 |
| 2 | OBJ_02 | Object 02 |
-------------------------------------
这两个 table 都作为 collection 传递给 blade 视图。
Blade 我现在的模板是:
<table>
<thead>
<tr>
@foreach ($columns as $column)
<th>{{$column->description}}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($data as $datum)
<tr>
<td>{{$datum['object_id']}}</td>
<td>{{$datum['description']}}</td>
</tr>
@endforeach
</tbody>
</table>
我想知道我是否可以访问 $data
collection 而不是使用 $datum['object_id']
和 $datum['description']
。这是因为,DataTable
可以是任何数据库 table,因此字段名称可以不同,但总是会有两列。
因此,$data
collection 将始终有两列,但列名可以不同。我需要一种更动态的方式来从 $columns
collection.
中获取列名
类似 <td>{{$columns[0]}}</td>
和 <td>{{$columns[1]}}</td>
仅供参考,$columns
的 column
包含实际名称(即 object_id
和 description
)
谢谢
下面是我如何在 blade 视图中执行此操作的示例:
@if(count($data) > 0)
@php
$keys = array_keys($data[0]);
@endphp
@foreach($data as $d)
@foreach($keys as $key)
<!-- This is the dynamic value that works with any array -->
{{$d[$key]}}
@endforeach
@endforeach
@endif
如果您有任何问题,请告诉我,我会很乐意为您提供帮助!
@foreach ($data as $datum)
<tr>
@foreach ($columns as $column)
<td>{{$datum[$column->column]}}</td>
@endforeach
</tr>
@endforeach
我有数据库 table LovColumnComments
并且它包含:
----------------------------------------------------
| id | view | column | description |
----------------------------------------------------
| 1 | my_view | object_id | Object ID |
| 2 | my_view | description | Description |
----------------------------------------------------
我有另一个 table DataTable
包含实际数据。
-------------------------------------
| id | object_id | description |
-------------------------------------
| 1 | OBJ_01 | Object 01 |
| 2 | OBJ_02 | Object 02 |
-------------------------------------
这两个 table 都作为 collection 传递给 blade 视图。
Blade 我现在的模板是:
<table>
<thead>
<tr>
@foreach ($columns as $column)
<th>{{$column->description}}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($data as $datum)
<tr>
<td>{{$datum['object_id']}}</td>
<td>{{$datum['description']}}</td>
</tr>
@endforeach
</tbody>
</table>
我想知道我是否可以访问 $data
collection 而不是使用 $datum['object_id']
和 $datum['description']
。这是因为,DataTable
可以是任何数据库 table,因此字段名称可以不同,但总是会有两列。
因此,$data
collection 将始终有两列,但列名可以不同。我需要一种更动态的方式来从 $columns
collection.
类似 <td>{{$columns[0]}}</td>
和 <td>{{$columns[1]}}</td>
仅供参考,$columns
的 column
包含实际名称(即 object_id
和 description
)
谢谢
下面是我如何在 blade 视图中执行此操作的示例:
@if(count($data) > 0)
@php
$keys = array_keys($data[0]);
@endphp
@foreach($data as $d)
@foreach($keys as $key)
<!-- This is the dynamic value that works with any array -->
{{$d[$key]}}
@endforeach
@endforeach
@endif
如果您有任何问题,请告诉我,我会很乐意为您提供帮助!
@foreach ($data as $datum)
<tr>
@foreach ($columns as $column)
<td>{{$datum[$column->column]}}</td>
@endforeach
</tr>
@endforeach