Exemplo n.º 1
0
 /**
  * 获取关联模型及其值
  * @author wjh
  * @version 2014-4-30
  * @param CActiveRecord $model model
  * @param array $escape escape name array
  * @return array
  */
 public static function getRelations($model, $escape)
 {
     $columns = array();
     $relations = $model->metaData->relations;
     if (isset($escape) && $escape != null) {
         $escape = array_combine($escape, $escape);
         $relations = array_diff_key($relations, $escape);
     }
     foreach ($relations as $key => $relation) {
         $pvalue = BDataHelper::getModelProperty($model, $relation->name);
         $columns[$relation->name] = $pvalue;
     }
     return $columns;
 }
Exemplo n.º 2
0
 /**
  * 根据$key处理$list数据,返回二维数组;
  *
  * @param $list
  * @param $key
  * @return Array Map;
  */
 public static function model_group($list, $key)
 {
     if (!isset($list) || empty($list)) {
         return null;
     }
     $groups = array();
     if (is_array($list)) {
         foreach ($list as $item) {
             $items = array();
             $val = BDataHelper::getModelProperty($item, $key);
             if (isset($groups[$val])) {
                 $items = $groups[$val];
             }
             $items[] = $item;
             $groups[$val] = $items;
         }
     }
     return $groups;
 }