例如
$d=I('post.d'); // $d['a']=3;$d['b']=5;
//dump($d);
M('you_table')->where('id=2')->save($d);
//dump($d);
dump(M()->getLastSql());
// UPDATE `you_table` set b='5' where id=2;
调试运行会发现SQL语句中 没有 set a=3,而 $d['a'] 并没有消失,也没有任何 unset($d['a']) 的操作。
进入 Model.class.php 文件找到 function save($data='',$options=array()),设置dump($data)调试,
发现没有出现预期结果。
解决方法:
删除 /Aplication/Runtime 文件夹,清空浏览器缓存。
然后一切正常。
