Q
[top-think/think]thinkphp5.0.12 模型save问题 字符串5012改成05012保存未生效
9
模型属性邮编字符串5012 改成05012发现未生效
A
回答
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方法就行了 因为大部分情况 表单提交的数据都是字符串类型 用恒等的话 就基本不行