首页 > 解决方案 > 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);

希望有人知道原因可能是什么。

标签: phparrayscakephpsave

解决方案


推荐阅读