php - CakePHP 未更新数据库中的完整数组
问题描述
使用 CakePHP 3.5
出于某种原因,在更新数据库中的行时会跳过数组中的某些元素。这是被跳过的 id: 4602006208571。
返回 save() 函数,它返回应该更新的正确实体,但是,事实并非如此。如果我向数组添加更多数字,它将使用新条目更新字段,但 4602006208571 除外。
另外 $entity->errors() 返回一个空数组,我将字段设置为脏以防万一。
$product_ids=array("4602406208572","4632006208572","4602006208572","4602006208571","4589010649147","4589010649148","4589010649159", "4599010649148");
$label->setDirty('product_ids', true);
$product_data = json_encode(array_values($product_ids), JSON_NUMERIC_CHECK);
//Tried with json_encode($product_ids);
$label->product_ids = $product_data;
$label->date_modified = Time::now();
$this->Labels->save($label);
希望有人知道原因可能是什么。
解决方案
推荐阅读
- javascript - 浏览器控制台元素闪烁,就像它们被渲染一样,尽管它们不是,原因不明
- python-3.x - 如何从 pandas join 中的第二个数据框中填充先前的值
- python - 获取购买最多的前 10 件商品作为列表
- c# - System.Security.Cryptography 在迁移到 .net 5 后引发异常
- java - Eclipse 中没有启动 Tomcat 的 servlet 日志
- python - 用两个具有特定逻辑的字典形成字典
- date - SAS比较两个日期
- r - Rstudio 中没有显示函数输出
- maven - 如何解决 liquibase 错误找不到基本路径“/db/changeLog-master.xml”
- python - Python Unittests 输出 - 是否可以在每个通过/失败行下打印出 unittests 中的打印语句?