2016-10-07 46 views
0

动态加载列名我试图填充我的用户配置文件表单,并且由于数据库表有很多列,我试图查看是否有可能自动加载它们。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')); 
    } 
} 
+0

尝试打印'{{$名称}}',而不是'{{$ collumn}}' –

回答

1

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

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

只有您在您的视图中打印键值而不是值(在本例中为列名称)$columns的原因。打印$name只有

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

这工作。谢谢。 :) – Mugluck