使用 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 它。
非常感谢!
这是我拥有的某些控制器中的示例代码:
$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 它。
非常感谢!