我有db table LovColumnComments
,它包含:
----------------------------------------------------
| id | view | column | description |
----------------------------------------------------
| 1 | my_view | object_id | Object ID |
| 2 | my_view | description | Description |
----------------------------------------------------
我有另一个包含实际数据的表DataTable
。
-------------------------------------
| id | object_id | description |
-------------------------------------
| 1 | OBJ_01 | Object 01 |
| 2 | OBJ_02 | Object 02 |
-------------------------------------
这两个表都作为集合传递给刀片视图。
我现在拥有的刀片模板是:
<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
集合,而不是使用$datum['object_id']
和$datum['description']
。这是因为,DataTable
可以是任何db表,因此字段名称可以不同,但总是会有两列。
因此,$data
集合将始终具有两列,但列名称可以不同。我需要一种更动态的方法来从$columns
集合中获取列名。
类似于<td>{{$columns[0]}}</td>
和<td>{{$columns[1]}}</td>
仅供参考,column
$columns
包含实际名称(即object_id
和description
)
由于
答案 0 :(得分:0)
所以这是我在刀片视图中如何执行此操作的示例:
@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
如果您有任何问题,请告诉我,我很乐意尝试和帮助!
答案 1 :(得分:0)
@foreach ($data as $datum)
<tr>
@foreach ($columns as $column)
<td>{{$datum[$column->column]}}</td>
@endforeach
</tr>
@endforeach