大家好我即将遇到问题而我想通过一个阵列循环并用laravel刀片引擎显示它
我的控制器代码是这样的
$table = DB::table('tables')->select('id')->where('name', strtolower($name))->first();
$columns = Column::where('table_id', $table->id)->get();
foreach ($columns as $col) {
$data[] = $col->col_name;
};
$content = DB::table($name)->select(...$data)->get();
return view('back.group.view-table', compact('content', 'columns', 'data'));
我的刀片视图代码就像这样
<table class="table table-striped">
<thead>
<tr>
@foreach($columns as $column)
<th>{{ $column->dis_name }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($content as $value)
<tr>
@for ($i = 0; $i < count($columns); $i++)
<td>{{ $value->key = $data[$i] }}</td>
@endfor
</tr>
@endforeach
</tbody>
</table>
答案 0 :(得分:1)
php有一个名为array_keys();
的函数所以它看起来像我想的那样
$results = DB::table($name)->select(...$data)->get();
$content = $results->first();
$keys = array_keys($content->toArray());
这会给你钥匙。如果您需要每个结果中的键只需循环$ results,并且每个$ result都使用array_keys语法获取键。
答案 1 :(得分:0)
像这样改变
<table class="table table-striped">
<thead>
<tr>
@foreach($columns as $column)
<th>{{ $column->dis_name }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($content as $value)
<tr>
<td>{{ $value->name }}</td>
</tr>
@endforeach
</tbody>
</table>
答案 2 :(得分:0)
另一种解决方案是使用array_flip()它会翻转键和值。
答案 3 :(得分:0)
使用array_keys()
获取数组中的所有键,您也可以使用foreach($arr as $key => $value)
答案 4 :(得分:0)
我找到答案我只是改变了我的观点
<table class="table table-striped">
<thead>
<tr>
@foreach($columns as $column)
<th>{{ $column->dis_name }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($content as $value)
<tr>
@for ($i = 0; $i < count($columns); $i++)
<td>{{ $value->key = $data[$i] }}</td>
@endfor
</tr>
@endforeach
</tbody>
</table>
到此
<table class="table table-striped">
<thead>
<tr>
@foreach($columns as $column)
<th>{{ $column->dis_name }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($content as $value)
<tr>
@foreach ($data as $key)
<td>{{ $value->$key }}</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
答案 5 :(得分:-1)
$hayStack = ['name' => 'John', 'age' => 30, 'sex' => 'm'];
$searchValue = 30;
$keyName = array_keys($hayStack, $searchValue)[0];
array_keys() 将搜索所有可能包含搜索值的键。考虑到 $hayStack
是一个数组,不会有任何重复的键,所以我们的结果将在索引 0 处。
如果搜索值为 30,结果将为“年龄”。
这里 array_keys 是一个内置函数 https://www.php.net/manual/en/function.array-keys.php