> 백엔드 개발 > PHP 튜토리얼 > ThinkPHP 转换数据库查询出的数据到对应类型

ThinkPHP 转换数据库查询出的数据到对应类型

WBOY
풀어 주다: 2016-06-20 12:32:03
원래의
1084명이 탐색했습니다.

默认情况下,Thinkphp查询出的所有字段值类型都是String,如果是开发web,当然没问题,但开发接口,就很麻烦了,总不能让客户端去转类型。

ThinkPHP的Model.class.php时,提供了_parseType方法,可以在查询完以后,做类型转换,但框架没有这么干,需要我们手工调一下。

写一个Model基类:

BaseModel.class.php,因为我用到关联查询,所以继承自RelationModel

use Think\Model;use Think\Model\RelationModel;class BaseModel extends RelationModel{    //在查询后,转换数据类型    protected function _after_select(&$resultSet, $options)    {        parent::_after_select($resultSet,$options);        foreach ($resultSet as &$result) {            $this->_after_find($result, $options);        }    }    protected function _after_find(&$result, $options)    {        parent::_after_find($result,$options);        foreach ($result as $field => $value) {            $this->_parseType($result, $field);        }    }}
로그인 후 복사

所有的Model类继承自BaseModel.

本来,这样已经搞定了,但发现Model.class.php的_parseType方法里有个低级bug,看图:

© 2016, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接!应用开发笔记

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿