2016-02-17 3 views
3

Я использую Laravel Collective и Laravel 5.2 ... Я вроде как новичок в этом, поэтому, пожалуйста, если кто-то может помочь, я был бы благодарен. Я хочу, чтобы заполнить данные на мой взгляд, это мой контроллер:Набирая варианты выбора из db - laravel 5.2

<?php 

namespace App\Http\Controllers\Admin; 

use Illuminate\Http\Request; 

use App\Http\Requests\SaveProfileRequest; 
use App\Http\Requests; 
use App\Clas; 
use App\Profile; 
use App\Http\Controllers\Controller; 


class ClassesController extends Controller 
{ 
    public function getIndex() { 
     return view('admin.classes.list', [ 
      'classes' => Clas::get() 
     ]); 
    } 



    public function postIndex(Request $request) { 
     $class = Clas::create([ 
      'profile_id'=> 
      'name' => $request ->input('class-name'), 
     ]); 

     if($class->id) { 
      return redirect()->back()->with('message', [ 
       'type'=> 'success', 
       'message' => 'Успешно записан нов клас!' 

      ]); 
     } 

     return redirect()->back()->with('message', [ 
      'type'=> 'danger', 
      'message' => 'Класът не е записан!' 
     ]); 
    } 
} 

и на мой взгляд, у меня есть это

<div class="panel-body"> 
    {!! Form::open(['method' => 'post', 'class' => 'form-horizontal']) !!} 
    <div class="form-group"> 
     {!! Form::label('class-name','Клас:', ['class' => 'control-label col-md-3']) !!} 
     <div class="col-md-6"> 
      {!! Form::text('class-name', null,['class' => 'form-control', 'placeholder' => 'например: 8а' ]) !!} 
     </div> 
    </div> 
    <div class="form-group"> 
     {!! Form::label('profile-name','Избери профил:', ['class' => 'control-label col-md-3']) !!} 
     <div class="col-md-6"> 
      {!! Form::select('profile-name') !!} 
     </div> 
    </div> 

    <div align="center"> 
     {!! Form::submit('Запиши', ['class' => 'btn btn-default']) !!} 
    </div> 
    {!! Form::close() !!} 
</div> 

Мой вопрос заключается в том, как передать данные? Что я должен писать в контроллере и в представлении для их подключения?

+0

Вы возвращаете представление после запроса на 'postIndex'? – Digitlimit

+0

Да, но теперь это не работает, потому что '' profile_id '=> 'пуст. –

+0

обновите свой ответ с помощью полного контроллера или postIndex (Request $ request). что посмотреть полный код – Digitlimit

ответ

0

Что касаемо вы комментируете.

Это возвращает список (массив) в целях:

EDITED

public function getIndex() { 
    return view('admin.classes.list', [ 
     //'classes' => Clas::get() //returns object, profile 
     'profiles' => Profile::lists('name', 'id'); //returns array 
    ]); 
} 

Для заполнения выберите меню со списками profile_id и имя NB: Я изменил profile-name к profile_id

<div class="form-group"> 
    {!! Form::label('profile_id','Избери профил:', ['class' => 'control-label col-md-3']) !!} 
    <div class="col-md-6"> 
     {!! Form::select('profile_id', $profiles) !!} 
    </div> 
</div> 

Тогда ваш postIndex:

public function postIndex(Request $request) { 
    $class = Clas::create([ 
     'profile_id'=> $request->get('profile_id'), 
     'name' => $request ->input('class-name'), 
    ]); 

    if($class->id) { 
     return redirect()->back()->with('message', [ 
      'type'=> 'success', 
      'message' => 'Успешно записан нов клас!' 

     ]); 
    } 

    return redirect()->back()->with('message', [ 
     'type'=> 'danger', 
     'message' => 'Класът не е записан!' 
    ]); 
} 
+0

Но все же не отображается список профилей в раскрывающемся списке –

+0

внутри' getIndex() 'do this' dd (Clas :: lists ('name', 'profile_id')); затем обновите свою индексную страницу и покажите мне вывод – Digitlimit

+0

'Collection {# 201 ▼ #items: [] }' –

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