[英]Laravel pluck() method not working
我正在創建一個cms類型的應用程序。 為此,在為用戶插入其角色(即管理員,訂閱者和作者)時,我使用pluck()方法從角色表中檢索數據並在選擇下拉列表中將角色顯示為數組,但問題是它無法正常工作,因為它說的是[htmlspecialchars()期望參數1為字符串,給定數組]請幫助我如何解決此問題,或者是否可以使用其他方法代替pluck?
AdminPostsController:
public function create()
{
$roles = Role::pluck('name', 'id')->all();
return view('admin.users.create', compact('roles'));
}
創建頁面(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>
請幫忙!
您的問題不是pluck
方法,而是刀片視圖:
<div class = "form-group">
{!! Form::label('role_id', 'Role:') !!}
{!! Form::text('role_id', array(''=>'Choose Your Role')+$roles, null,
['class'=>'form-control']) !!}
</div>
Form::text
方法期望將字符串作為第二個參數,您給了一個數組。
如果要選擇,請使用Form::select
代替。
AdminController應該看起來像:
public function create()
{
$roles = Role::pluck('name', 'id')->toArray();
return view('admin.users.create', compact('roles'));
}
並使用如下所示的刀刃形式:
{!! Form::select('role_id', [null => 'Choose your role'] + $roles, null,
['class' => 'form-control']) !!}
您也可以通過將某些內容傳遞給Form :: select()的第3個位置來使用默認值。 例如。
{!! Form::select('INPUT_NAME', ['your' => 'array', 'with' => 'options], DEFAULT_VALUE, ['class' => 'example class',]]) !!}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.