ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP は、データベースからクエリされたデータを対応する型に変換します。

ThinkPHP は、データベースからクエリされたデータを対応する型に変換します。

WBOY
WBOYオリジナル
2016-06-20 12:32:031091ブラウズ

デフォルトでは、Thinkphp でクエリされるすべてのフィールド値の型は String です。Web を開発している場合は、もちろん問題ありませんが、インターフェイスの開発は非常に面倒です。エンドツーエンドタイプ。

ThinkPHP の Model.class.php は、クエリ後に型変換を実行できる _parseType メソッドを提供します。ただし、フレームワークはこれを行わないため、手動で調整する必要があります。

モデルの基本クラスを作成します:

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 メソッドに低レベルのバグが見つかりました。

© 2016, Frozen Fish. アプリケーション開発ノートをコピーおよび転載する場合は、作者の努力の成果を尊重し、このサイトへのリンクを保持してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。