【发布时间】:2021-06-01 22:41:09
【问题描述】:
我正在尝试测试 Eloquent 模型的更新...
/** @test */
public function updates_to_json_fields_are_logged()
{
$data = json_encode(["json_key" => "old_value"]);
$individual = Individual::factory()->create([
"information" => $data
]);
json_decode($individual->information)->json_key = "new_value";
$individual->save();
echo(var_dump($individual));
$this->assertTrue(false);
}
information 是一个 json 列。
当我保存$individual 后登录时,"information->json_key" 的值仍然是"old_value"。谁能告诉我为什么?
【问题讨论】:
-
您的代码完全按照您的编写。在
json_decode返回的新对象上分配"new_value"。存储在$individual中的对象没有发生任何变化 -
@N69S。如何更改原点对象?
-
我在下面添加了一个答案,它对你有用吗?
标签: mysql json laravel eloquent