我尝试使用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) !!}
我在选择框中找不到任何内容的工作页面。
所以我尝试了任何不同的东西,没有任何作用。
答案 0 :(得分:0)
您需要将数组作为第二个参数传递:
Form::select
您可以使用pluck()
方法,这是为$users = User::pluck('firstname', 'id');
构建数组的非常方便的方法
$users = DB::table('users')->pluck('firstname', 'id');
或者你可以这样做:
grep