使用 eloquent laravel 在数据库 table 中保存一个字段 - Userfrosting

Saving a field inside database table using eloquent laravel - Userfrosting

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

$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()

我不明白 collection 的意思。我以前从未发生过。 为什么这段代码没有抛出 collection 错误?

$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();
        }

终于成功了! 只需修改这一行:

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

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

非常感谢!