1

我正在尝试使用 larval 使用数据库中的用户信息填充表单选择。我也在使用 laravelcollective.com 的表单助手。

这是控制器中的代码

public function create()
{

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

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

即使我在这里使用 querybuilder,它也可以工作。它返回 id 和 firstname 字段作为名称。所以我不认为这是问题所在。

这是 create.blade.php 文件中的代码

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

使用此代码,我得到一个在选择框中没有任何内容的工作页面。

使用此代码

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

我收到为 foreach() 错误提供的无效参数

并使用此代码

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

我得到一个工作页面,选择框中没有任何内容。

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

4

1 回答 1

0

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

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

您可以使用pluck()非常方便的方法来构建数组Form::select

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

或者你可以这样做:

$users = DB::table('users')->pluck('firstname', 'id');
于 2016-09-27T03:08:04.753 回答