/** * 获取关联模型及其值 * @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; }
/** * 根据$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; }