ThinkPHP 3.0 parseFieldsMap の問題
データベース内のフィールドは uid、uname
ページ フォームの名前はそれぞれ id と name です
モデル コード:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> protected $_map = array( 'id' => 'uid', 'name' => 'uname', );
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $model = M('Demo'); $list = $model -> select(); print_r($list); $list = $model -> parseFieldsMap($list); echo '<br/><br/>'; print_r($list);
になります /**+--------------------- * プロセスフィールドマッピング +--------------------- * @アクセスパブリック +--------------------- * @param array $data 現在のデータ * @param integer $type タイプ 0 書き込み 1 読み取り +--------------------- * @return 配列 +---------------------*/ パブリック関数 parseFieldsMap($data,$type=1) { // フィールドマッピングをチェックする if(!empty($this->_map)) { foreach ($this->_map as $key=>$val){ if($type==1) { // 読み取り if(isset($data[$val])) { $data[$key] = $data[$val]; unset($data[$val]); } }それ以外{ if(isset($data[$key])) { $data[$val] = $data[$key]; unset($data[$key]); } } } } $data を返します。 <div class="clear"></div>