[top-think/think]thinkphp5.0.12 模型save问题 字符串5012改成05012保存未生效

2023-12-15 686 views
9

模型属性邮编字符串5012 改成05012发现未生效

回答

1

发现 /**

  • 获取变化的数据 并排除只读数据
  • @access public
  • @return array */ public function getChangedData() { if ($this->force) { $data = $this->data; } else { $data = array_udiff_assoc($this->data, $this->origin, function ($a, $b) { if ((empty($a) || empty($b)) && $a !== $b) { return 1; } return is_object($a) || $a != $b ? 1 : 0; }); } 因为$a != $b 此处没有做类型等值判断 改为 return is_object($a) || $a !== $b ? 1 : 0; 是否会有其他影响
5

save的时候调用force方法就行了 因为大部分情况 表单提交的数据都是字符串类型 用恒等的话 就基本不行