Heim > Backend-Entwicklung > PHP-Tutorial > ThinkPHP 转换数据库查询出的数据到对应类型

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

WBOY
Freigeben: 2016-06-20 12:32:03
Original
1082 Leute haben es durchsucht

默认情况下,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);        }    }}
Nach dem Login kopieren

所有的Model类继承自BaseModel.

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

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

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 Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage