設計數據庫字段常常會使用1,2,3來表明數據記錄的狀態

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;
	}
相關文章
相關標籤/搜索