Laravel返回htmlentities()期望参数1为字符串,给定对象

时间:2015-12-30 19:41:11

标签: php laravel laravel-5 laravel-5.1 blade

我有以下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

1 个答案:

答案 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']) !!}