laravel&刀片从表中动态加载列名称

时间:2016-10-07 08:09:32

标签: php database laravel-5 laravel-blade

我正在尝试填充我的用户个人资料表单,因为数据库表有很多列,我试图查看是否可以自动加载它们。

我有点工作。但目前它打印出一个数字列表(我假设的表列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'));
   }
}

1 个答案:

答案 0 :(得分:1)

  

我有点工作。但目前它打印出一份清单   数字(我假设的表列ID),而不是名称   列。

不,你不是在看“表列ID”,而是数字是$columns数组的键。清楚地看到您只获取了列名而不是控制器中列(id)的值。

仅在视图中打印密钥而不是$columns的值(本例中为列名称)的原因。仅打印$name

@foreach ($columns as $column => $name)
   {{ $name }}
@endforeach