2016-10-07 4 views
0

Я пытаюсь заполнить формы своего профиля пользователя, и поскольку в таблице базы данных много столбцов, я пытаюсь проверить, можно ли их автоматически загружать.laravel & Blade Динамически загружать имена столбцов из таблицы

У меня есть работа. Но на данный момент он распечатывает список номеров (идентификатор столбца таблицы, который я предполагаю), а не имена столбцов.

Что мне не хватает?

Это файл лезвия:

@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

Я вроде бы он работает. Но на данный момент он распечатывает список номеров (идентификатор столбца таблицы, который я предполагаю), а не имена столбцов .

Нет, вы не видите «идентификатор столбца таблицы», а цифры - это ключи от $columns массива. Ясно, что вы выбрали имена столбцов, а не значения столбца (id) в вашем контроллере.

Только на основании того, что вы печатаете ключи вместо значений (имена столбцов в этом случае) $columns на ваш взгляд. печать $name только

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

Это работает. Спасибо. :) – Mugluck

Смежные вопросы