如何解決thinkphp save失敗問題

thinkphp save失敗的解決辦法:1、打開相應的代碼文件;2、使用“$this->typeModel->field(‘id,name,sort’)->data($data)->save();”方式更新數據即可。

如何解決thinkphp 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
喜歡就支持一下吧
點贊10 分享