【问题标题】:Laravel returns htmlentities() expects parameter 1 to be string, object givenLaravel 返回 htmlentities() 期望参数 1 是字符串,给定对象
【发布时间】:2015-12-31 05:18:22
【问题描述】:

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

【问题讨论】:

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


    【解决方案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']) !!}
    

    【讨论】:

    • 它说 现在调用数组上的成员函数 lists()
    • 对不起,我错过了你不要在这里使用 Eloquent,我修复了代码。如果它不起作用,请尝试从我的代码中删除 ->all() 方法(我目前无法测试它)
    • 现在工作!感谢您的帮助
    猜你喜欢
    • 2015-06-27
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 2017-03-30
    • 2016-10-26
    • 2016-04-30
    • 1970-01-01
    • 2015-04-30
    相关资源
    最近更新 更多