1.若是在設計數據庫字段常常會使用1,2,3來表明數據記錄的狀態,在程序中使用過的時候又不容易記住涵義,
須要將數字轉換成爲相對應的狀態名稱。下面有兩種方法能夠解決這個問題:
第一種方法:在相對應的model中定義一個函數(例如UserModel)php
private static $_items = array(); public static function loadItems($type,$code=null) { self::$_items = array( 'status' => array( '1' => Yii::t('dh','開啓'), '2' => Yii::t('dh','關閉'), ), 'type' => array( '1' => Yii::t('dh','審覈'), '2' => Yii::t('dh','結束'), '3' => Yii::t('dh','待審覈'), ), ); return $code ? self::$_items[$type][$code] : self::$_items[$type]; }
數據獲取方法:
User::model()->loadItems('status',2);
第二中方法:定義靜態變量數據庫
public static $status = array( '1' => Yii::t('dh','開啓'), '2' => Yii::t('dh','關閉'), ); public static $type = array( '1' => Yii::t('dh','審覈'), '2' => Yii::t('dh','結束'), '3' => Yii::t('dh','待審覈'), );
數據獲取方法:app
User::$status[2];函數
第三種方法:this
視圖設計
<input type="button" class="but_downs" id="shouluzt"
value="<?php if(isset($_GET['type_id'])) echo $type[$_GET['type_id']]['name']; else echo '所有'; ?>" /> //經過id去取他的值
控制器
$arrType = ContentType::model()->getTypeById();
'type' => $arrType,
類 public function getTypeById(){ $cache_name=md5('model_ContentType_getTypeById'); $data=Yii::app()->memcache->get($cache_name); if(!$data){ $result=$this->findAll('status=:status',array(':status'=>1)); if(!empty($result)){ foreach($result as $val){ $data[$val->id]['code']=$val->code; $data[$val->id]['name']=$val->name; } } Yii::app()->memcache->set($cache_name,$data,3000); } return $data; }