thinkphp save失敗的解決辦法:1、打開相應的代碼文件;2、使用“$this->typeModel->field(‘id,name,sort’)->data($data)->save();”方式更新數據即可。
本文操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。
如何解決thinkphp save失敗問題?
thinkphp save() 更新失敗
一、失敗案例
立即學習“PHP免費學習筆記(深入)”;
?$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視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦