Added DB Access + Error page
This commit is contained in:
76
demos/blog/protected/models/Lookup.php
Normal file
76
demos/blog/protected/models/Lookup.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
class Lookup extends CActiveRecord
|
||||
{
|
||||
/**
|
||||
* The followings are the available columns in table 'tbl_lookup':
|
||||
* @var integer $id
|
||||
* @var string $object_type
|
||||
* @var integer $code
|
||||
* @var string $name_en
|
||||
* @var string $name_fr
|
||||
* @var integer $sequence
|
||||
* @var integer $status
|
||||
*/
|
||||
|
||||
private static $_items=array();
|
||||
|
||||
/**
|
||||
* Returns the static model of the specified AR class.
|
||||
* @return CActiveRecord the static model class
|
||||
*/
|
||||
public static function model($className=__CLASS__)
|
||||
{
|
||||
return parent::model($className);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string the associated database table name
|
||||
*/
|
||||
public function tableName()
|
||||
{
|
||||
return '{{lookup}}';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the items for the specified type.
|
||||
* @param string item type (e.g. 'PostStatus').
|
||||
* @return array item names indexed by item code. The items are order by their position values.
|
||||
* An empty array is returned if the item type does not exist.
|
||||
*/
|
||||
public static function items($type)
|
||||
{
|
||||
if(!isset(self::$_items[$type]))
|
||||
self::loadItems($type);
|
||||
return self::$_items[$type];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the item name for the specified type and code.
|
||||
* @param string the item type (e.g. 'PostStatus').
|
||||
* @param integer the item code (corresponding to the 'code' column value)
|
||||
* @return string the item name for the specified the code. False is returned if the item type or code does not exist.
|
||||
*/
|
||||
public static function item($type,$code)
|
||||
{
|
||||
if(!isset(self::$_items[$type]))
|
||||
self::loadItems($type);
|
||||
return isset(self::$_items[$type][$code]) ? self::$_items[$type][$code] : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the lookup items for the specified type from the database.
|
||||
* @param string the item type
|
||||
*/
|
||||
private static function loadItems($type)
|
||||
{
|
||||
self::$_items[$type]=array();
|
||||
$models=self::model()->findAll(array(
|
||||
'condition'=>'type=:type',
|
||||
'params'=>array(':type'=>$type),
|
||||
'order'=>'position',
|
||||
));
|
||||
foreach($models as $model)
|
||||
self::$_items[$type][$model->code]=$model->name;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user