1

这是我拥有的某个控制器中的示例代码:

$arr = json_decode($post['arr_json']);
for ($i = 0; $i < count($arr); $i++) {
     $port = Port::where('id', $arr[$i]->id)->first();
     $port->company_a_json = $arr[$i];
     $port->save();
}

这是我得到的错误:

Call to undefined method Illuminate\\Database\\Eloquent\\Collection::save()

我不明白收藏的东西。我以前从来没有发生过。为什么这段代码,例如不抛出收集错误?

$comps = Comp::where('id', $post['id'])->get();

        foreach ($comps as $comp){
          $comp->base_price_20 = $post['base_price_20'];
          $comp->base_price_40 = $post['base_price_40'];
          $comp->save();
        }
4

1 回答 1

2

它终于奏效了!只需要修改这一行:

$port->company_a_json = json_encode($arr[$i]);

我的猜测是直到现在$arr[$i]返回一个 Collection 到$port->company_a_json。需要 JSON.stringify 它。

无论如何,非常感谢!

于 2017-02-11T18:00:11.063 回答