ARArea::getAreas PHP Method

getAreas() public static method

获取子市区的键值对列表
public static getAreas ( int/null $pid = null, integer $grade = self::GRADE_PROVINCE ) : array
$pid int/null
$grade integer 等级
return array
    public static function getAreas($pid = null, $grade = self::GRADE_PROVINCE)
    {
        $key = 'arealist_' . $grade . '_' . $pid;
        $areas = Yii::app()->cache->get($key);
        //        dump($areas);
        if ($areas === false) {
            $query = new Query(Yii::app()->db);
            $query->select('id,name');
            $query->from('area');
            if ($pid == null) {
                $query->andWhere('parent_id is null');
            } else {
                $query->andWhere('parent_id=:pid', array(':pid' => $pid));
            }
            $areas = $query->queryAll();
            if (!empty($areas)) {
                $areas = A::map($areas, 'id', 'name');
            }
            Yii::app()->cache->set($key, $areas, 60 * 60 * 24);
        }
        //        dump($areas);
        return $areas;
    }

Usage Example

Example #1
0
            <div style="float:left;margin-right: 15px;">
                <?php 
echo $form->dropDownListRow($model, 'province_id', ARArea::getAreas(), array('class' => 'span2', 'prompt' => '请选择', 'ajax' => array('type' => 'POST', 'url' => $this->createUrl('ajax/subarea'), 'success' => 'function(data){
                        $("#ARBizShop_city_id").html(data);
                        $("#ARBizShop_area_id").html("<option value=\\"\\">请选择</option>");
                        }', 'data' => array(Yii::app()->request->csrfTokenName => Yii::app()->request->getCsrfToken(), 'pid' => 'js:$("#ARBizShop_province_id").val()', 'grade' => ARArea::GRADE_CITY))));
?>
            </div>
            <div style="float:left;margin-right: 15px;">
                <?php 
echo $form->dropDownListRow($model, 'city_id', $model->province_id ? ARArea::getAreas($model->province_id, ARArea::GRADE_CITY) : array(), array('class' => 'span2', 'prompt' => '请选择', 'ajax' => array('type' => 'POST', 'url' => $this->createUrl('ajax/subarea'), 'update' => '#ARBizShop_area_id', 'data' => array(Yii::app()->request->csrfTokenName => Yii::app()->request->getCsrfToken(), 'pid' => 'js:$("#ARBizShop_city_id").val()', 'grade' => ARArea::GRADE_AREA))));
?>
            </div>
           
            <?php 
echo $form->dropDownListRow($model, 'area_id', $model->city_id ? ARArea::getAreas($model->city_id, ARArea::GRADE_AREA) : array(), array('class' => 'span2', 'prompt' => '请选择'));
?>
            <?php 
// echo $form->dropDownListRow($model,'cbd_id',  $model->province_id?ARArea::getAreas($model->province_id,  ARArea::GRADE_CITY):array(),array('class'=>'span2','prompt'=>'请选择'));
?>

        </div>
        <?php 
echo $form->checkBoxRow($model, 'is_reservation', array('uncheckValue' => 0, 'hint' => '勾选表示需要预约'));
?>
        <?php 
echo H::hiddenField('return_url', Yii::app()->request->urlReferrer);
?>
	<div class="form-actions">
		<?php 
$this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'primary', 'label' => $model->isNewRecord ? '创建' : '保存'));