Laravel pluck()方法不起作用

Fre*_*red 1 php laravel

我正在创建一个cms类型的应用程序.为此,在插入用户的角色即管理员,订阅者和作者时,我使用pluck()方法从角色表中检索数据并在选择下拉列表中显示角色作为数组,但问题是它没有工作,因为它说[htmlspecialchars()期望参数1是字符串,给定数组]请帮助我如何解决这个问题,或者有没有其他方法可以用来代替采摘?

AdminPostsController:

public function create()
{
    $roles = Role::pluck('name', 'id')->all();

    return view('admin.users.create', compact('roles'));
}
Run Code Online (Sandbox Code Playgroud)

创建页面(create.blade.php):

<div class = "form-group">
{!! Form::label('role_id', 'Role:') !!}
{!! Form::text('role_id', array(''=>'Choose Your Role')+$roles, null, 
['class'=>'form-control']) !!}
</div>
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Eli*_*res 7

您的问题不在于pluck方法,而是在您的刀片视图上:

<div class = "form-group">
{!! Form::label('role_id', 'Role:') !!}
{!! Form::text('role_id', array(''=>'Choose Your Role')+$roles, null, 
['class'=>'form-control']) !!}
</div>
Run Code Online (Sandbox Code Playgroud)

Form::text 方法需要一个字符串作为第二个参数,你给了一个数组.

Form::select如果您想要选择,请使用.