Forms 尝试用用户信息填充表单选择

Forms 尝试用用户信息填充表单选择,forms,laravel,laravel-form,Forms,Laravel,Laravel Form,我正试图用数据库中的用户信息来填充表单选择。我还使用了laravelcollective.com的表单助手 这是控制器中的代码 public function create() { $users = DB::table('users')->select('id', 'firstname as name')->get(); return view('messages.create')->with('users'); } 尽管我在这里使用的是querybuil

我正试图用数据库中的用户信息来填充表单选择。我还使用了laravelcollective.com的表单助手

这是控制器中的代码

public function create()
{

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

    return view('messages.create')->with('users');
}
尽管我在这里使用的是querybuilder,但它仍然有效。它返回id和firstname字段作为name。所以我认为这不是问题所在

下面是create.blade.php文件中的代码

{{ Form::select('user', [$users], null) }}
有了这段代码,我得到了一个在选择框中没有任何内容的工作页面

使用此代码

{!! Form::select('user_id', $users, null) !!}
{!! Form::select('user_id', [$users], null) !!}
为foreach()错误提供的参数无效

用这个代码

{!! Form::select('user_id', $users, null) !!}
{!! Form::select('user_id', [$users], null) !!}
我得到一个在选择框中没有任何内容的工作页面


所以我尝试了不同的方法,但没有任何效果。

您需要将数组作为第二个参数传递:

{!! Form::select('user_id', $users, null) !!}
您可以使用非常方便的方法为
Form::select

$users = User::pluck('firstname', 'id');
或者你可以这样做:

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

您需要将数组作为第二个参数传递:

{!! Form::select('user_id', $users, null) !!}
您可以使用非常方便的方法为
Form::select

$users = User::pluck('firstname', 'id');
或者你可以这样做:

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