thinkphp save失敗的解決方法:1、開啟對應的程式碼檔案;2、使用「$this->typeModel->field('id,name,sort')->data($ data)->save();”方式更新資料即可。
本文操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。
如何解決thinkphp save失敗問題?
thinkphp save() 更新失敗
一、失敗案例
$data = I(); $rs = $this->typeModel->data($data)->save();
二、正確案例
正确一 $rs=$this->typeModel->field('id,name,sort')->data($data)->save(); 正确二: // $rs=$this->typeModel->where('id='.$data['id'])->field('name,sort')->data($data)->save(); 正确三: // $rs=M('CityCategory')->where('id='.$data['id'])->field('name,sort')->data($data)->save(); //注意: //1.如果新数据与原数据相同则跟新失败 //2.不加field 限制会导致修改失败 //3.需要在field中写主键id和要改的字段, 或where条件中写主键id。
三、原因分析
# 從前台接收到的值$data 中全部欄位 id pid name path sort,都有數值,但是有些新資料和舊資料相同。
當新資料和舊資料中有某些欄位資料相同是需要用field來決定要求變更的資料。估計field中寫了,即便相同也會更新。
推薦學習:《最新的10個thinkphp影片教學》
以上是如何解決thinkphp save失敗問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!