Heim > php教程 > PHP开发 > ThinkPHP模型类中不能调用save方法

ThinkPHP模型类中不能调用save方法

WBOY
Freigeben: 2016-06-07 17:23:38
Original
1754 Leute haben es durchsucht

这些天由于工作的需要,在WBlog3.12版本的基础上做个会员模块。


在测试更新会员头像时,发现了ThinkPHP的一个问题:在模块的模型类,无法执行更新查询语句!
    下面是更新数据的代码片断,上传头像成功,$uploadList[0]['savename']为更新头像时成功获取的图片的保存名,调试时已经确保 $data['thumb'] 的值不为空。代码如下:

class AttachModel extends Model{ 
  ... 
     $data['thumb']          = $uploadList[0]['savename'];//获取的更新头像的保存名称 
     $list   = M('Member')->where(array('id'=>1))->save($data);  
   }
Nach dem Login kopieren

上面的代码似乎没有错误,我也这样认为,可是也因为这种貌似没有错误的代码,让我花了好多时间在其它代码中寻找错误,到头来问题偏偏出现在上面的代码片段中--把它放到控制器中问题就解决了。呵呵,好痛的测试结果啊!
经测试,在模型类中添加数据是没问题的,即上面的代码可以这样执行

class AttachModel extends Model{ 
  ... 
     $data['thumb']  = $uploadList[0]['savename'];//获取的更新头像的保存名称 
     $list   = M('Member')->where(array('id'=>1))->add($data); //这里把save($data)改成add($data) 
  ... 
   }
Nach dem Login kopieren

我查阅了一下ThinkPHP核心包的模型类,类中包函着add和save两个方法,至于在模块的模型类中无法执行save,我仍在困惑着,但至少不会再把save写在模型类中。


   

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage