php thinkphp+pgsql M('table')->add()不能正常的返回新增记录的主键id值。
2016-03-30 18:12
465 查看
thinkphp框架对pgsql的支持很差 M('table')->add()不能正常的返回新增记录的主键id值。所以这里需要对框架做一些修改(thinkphp 3.2.3).1.修改Model.class.php添加如下方法:/*** 返回最后插入的ID* @access public* @return string*/public function getLastInsID($sequenceName) {return $this->db->last_insert_id($sequenceName);}
2.修改Pgsql.class.php
添加如下方法:
/** * 用于获取最后插入的ID * @access public * @return integer */ public function last_insert_id($sequenceName) { return $this->_linkID->lastInsertId($sequenceName); }
3.最后在使用的时候需要手动调用这个方法, 而不是M()->add()返回值
如下:
model('model')->add($data);$user_id = model('model')->getLastInsID('tableName_id_seq');'tableName_id_seq' 中的id为自增的 当然也可以换成任何需要返回的字段.
以上只是简单实现.参考:http://www.thinkphp.cn/bug/2794.html
相关文章推荐
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 插件管理框架 for Delphi(一)
- 使用CSS框架布局的缺点和优点小结
- 基于.NET平台常用的框架和开源程序整理
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP采用<volist>实现三级循环代码实例
- Thinkphp模板标签if和eq的区别和比较实例分析
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- 列举PHP的Yii 2框架的开发优势
- ThinkPHP中自定义目录结构的设置方法
- ThinkPHP控制器详解
- Windows窗体的.Net框架绘图技术实现方法
- 浅谈JavaScript 框架分类
- 轻量级javascript 框架Backbone使用指南
- javascript实现框架高度随内容改变的方法
- JS刷新框架外页面七种实现代码
- 超赞的动手创建JavaScript框架的详细教程
- 深入探讨前端框架react
- ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法