【问题标题】:Error in update attribute contain '-' in laravel更新属性中的错误在 laravel 中包含“-”
【发布时间】:2018-05-15 22:18:30
【问题描述】:

当更新属性包含'-'时遇到问题:

 public function update(Request $request, $id)
        {
          $qustiondata = qustionmodel::find($id);
             $qustiondata->name-man = $request->get('name-man');/*problem expression is not assignable constant reference*/
             $qustiondata->type = $request->get('type');/*no problem here*/

             $qustiondata->save();/*will happen problem if write $qustiondata['name-man'] */
        }

【问题讨论】:

    标签: laravel laravel-5 laravel-4


    【解决方案1】:

    它不会这样工作,如果你有破折号-的键,你应该使用括号[]或大括号{}来代替:

    $qustiondata["name-man"] = $request->get('name-man');
    //Or
    $qustiondata->{"name-man"} = $request->get('name-man');
    

    【讨论】:

    • 这个是$qustiondata数组,写$qustiondata->save()时会报错;
    • @KhalidHasan,除非find 调用返回null(这意味着错误的id),上面的代码将在模型实例上设置name-man 属性,因为模型实现了@987654329 @ ... $qs = new qustionmodel; $qs['name-man'] = $request->input('name-man');
    猜你喜欢
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多