doutangguali32556 2014-10-01 08:26
浏览 20
已采纳

如何推断出城市名称旁边的空缺数量?

I made a sql query that counts of jobs in a particular city

$countVac = Yii::app()->db->createCommand()
        ->select(array('cityId', 'count(*)'))
        ->from('mnk_vacancy')
        ->group('cityId')
        ->queryRow();

My function for deduce city

public function getCityList()
{
    $cityList = $this->findAll(array('order' => 'name'));
    $cityArray = CHtml::listData($cityList, 'id', 'name');
    return $cityArray;
}

How do I make something like this enter image description here

  • 写回答

1条回答 默认 最新

  • doutouman6245 2014-10-01 10:40
    关注
    public function getCitiesWithVacanciesNumber()
    {
        //raw sql
        $sql = '
            SELECT
                c.name city_name,
                COUNT(v.id) vac_num
            FROM cities c
            LEFT JOIN mnk_vacancy v
            ON v.cityId = c.id
            GROUP BY c.name
        ';
        return $this->getDbConnection()->createCommand($sql)->queryAll();
        /*
        AR:
        'vacancies' => array(self::HAS_MANY, 'Vacancy', 'cityId', 'together' => true,)
         */
        $rows = array();
        $cities = self::model()->with('vacancies')->findAll();
        foreach ($cities as $city) {
            $rows[] = array(
                'city_name' => $city->name,
                'vac_num' => count($city->vacancies)
            );
        }
        return $rows;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真