thinkphp 中自定义model方法
最近想用thinkPHP了,这也是听同事说的,说他比较简单,拿过来试一下,看了一遍文档,比较详细。后来继续用,便遇到了这个问题:在model中添加方法,因为很多和model相关的方法用的次数多,而且应该属于model‘管辖’,所以应该写在model类里面。
按照惯例建好Model和Controller(我用的3.2),然后在Controller的某个function里面调用。下面上代码:
?
where($condition)->find(); if($cls){ return $cls; }else{ $data = array(); $data['name'] = $ctlName; $data['fazenda_id'] =1 ; $id = $this -> add($data); return $id; } } }?>?controller代码:
find_or_create($controllerName); $data = array(); $data['ctl'] = $ctl; echo json_encode($data); } }
?上面Model的名字叫做Controller是因为这个model的意义是控制器,所以叫做了Controller。如果这样用,会出现问题:Think\Model:find_or_create方法不存在!查了一下,有三方面要改:
- 讲M方法更改为D方法
- 给Model增加命名空间
- 在Controller里面use命名空间
经过以上三点就可以了,花了将近半天的时间才找到,真不容易啊。还有,感觉thinkphp里面的教程入门很简单,但是对一些深的问题,解释的很是不是很到位。可能是用的时间比较短吧。
Co.MZ 是一款轻量级企业网站管理系统,基于PHP+Mysql架构的,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,系统基于ThinkPHP,支持自定义伪静态,前台模板采用DIV+CSS设计,后台界面设计简洁明了,功能简单易具有良好的用户体验,稳定性好、扩展性及安全性强,可面向中小型站点提供网站建设解决方案。
?









