我正在尝试填充我的用户个人资料表单,因为数据库表有很多列,我试图查看是否可以自动加载它们。
我有点工作。但目前它打印出一个数字列表(我假设的表列ID),而不是列的名称。
我错过了什么?
这是刀片文件:
@extends('layout')
@section('content')
<h1>User Profile Data</h1>
@foreach ($columns as $column => $name)
{{ $column }}
@endforeach
@foreach ($profile as $person)
@foreach ($person as $name)
{{ $name }}<br>
@endforeach
@endforeach
@stop
这是控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
class UserEntryController extends Controller
{
public function index(){
$columns = DB::getSchemaBuilder()->getColumnListing('users');
$profile = DB::table('users')->where('ID', '682')->get();
return view('UserEntry', compact('profile', 'columns'));
}
}
答案 0 :(得分:1)
我有点工作。但目前它打印出一份清单 数字(我假设的表列ID),而不是名称 列。
不,你不是在看“表列ID”,而是数字是$columns
数组的键。清楚地看到您只获取了列名而不是控制器中列(id)的值。
仅在视图中打印密钥而不是$columns
的值(本例中为列名称)的原因。仅打印$name
@foreach ($columns as $column => $name)
{{ $name }}
@endforeach