我有以下Laravel 5.1控制器功能
public function editare($prod_id) {
$categorii=DB::table('categorii_produse')
->select('cat_id')
->get();
$categorie_selectata=DB::table('produse')
->leftjoin('categorii_produse','prod_cat_id','=','cat_id')
->where('prod_id','=',$prod_id)
->select('prod_cat_id')
->get();
$articole=DB::table('produse')
->leftjoin('imagini','prod_id','=','img_prod_id')
->where('prod_id','=',$prod_id)
->get();
return view ('pagini.editare',compact('categorii','categorie_selectata','articole'));
视图中的以下行有问题
{!! Form::select('categorii',$categorii, null, ['class' => 'form-control']) !!}
视图返回以下错误
htmlentities() expects parameter 1 to be string, object given
答案 0 :(得分:1)
作为第二个参数,您需要以value => displayed option
格式传递数组(在您的情况下,我看到您只使用cat_id
作为值和显示的选项),因此代替:
{!! Form::select('categorii',$categorii, null, ['class' => 'form-control']) !!}
你应该使用:
{!! Form::select('categorii',collect($categorii)->lists('cat_id')->all(), null, ['class' => 'form-control']) !!}