2016-09-26 2 views
1

Im пытается заполнить формы, используя информацию о пользователе из базы данных, используя личинку. Я также использую помощник формы от laravelcollective.com.Пытаясь заполнить форму, выберите информацию о пользователе

Вот код в контроллере

public function create() 
{ 

    $users = DB::table('users')->select('id', 'firstname as name')->get(); 

    return view('messages.create')->with('users'); 
} 

Даже если я использую QueryBuilder здесь, он работает. Он возвращает имя и поле firstname в качестве имени. Поэтому я не думаю, что это проблема.

Вот код в файле create.blade.php

{{ Form::select('user', [$users], null) }} 

С помощью этого кода я получаю рабочую страницу, которая не имеет ничего в окне выбора.

С помощью этого кода

{!! Form::select('user_id', $users, null) !!} 

я получаю недопустимый аргумент, поставляемый для Еогеаспа() ошибки

И с этим кодом

{!! Form::select('user_id', [$users], null) !!} 

я получаю рабочую страницу с ничего в избранном коробка.

Так что я пробовал разные вещи, и ничего не работает.

ответ

0

Вам нужно передать массив в качестве второго параметра:

{!! Form::select('user_id', $users, null) !!} 

Вы можете использовать pluck() метод, который является очень удобным способом построить массив для Form::select

$users = User::pluck('firstname', 'id'); 

Или вы могли бы сделать это:

$users = DB::table('users')->pluck('firstname', 'id'); 
+1

Спасибо, если сработало отлично – Kaley36