我已经编写了查询来从tbl_summer表获取状态为活动状态的不同stateID,这是表tbl_states的主键。
我希望按字母顺序列出不同的州名。 实际上我从以下查询得到了这个,但字母顺序没有得到......
那么解决方案是什么......?
以下是我的问题:
$query = Tbl_summer::find()
->select('tbl_summer.StateID, tbl_states.state_name')
->distinct('tbl_summer.StateID')
->from('tbl_summer')
->leftJoin('tbl_states', ['tbl_states.ID' => 'tbl_summer.StateID'])
->where(['tbl_summer.IsActive' => '1'])
->orderBy(['tbl_states.state_name' => SORT_ASC]);
答案 0 :(得分:1)
这有用吗?
$query = Tbl_summer::find()
->select('tbl_summer.StateID, tbl_states.state_name')
->from('tbl_summer')
->leftJoin('tbl_states', ['tbl_states.ID' => 'tbl_summer.StateID'])
->where(['tbl_summer.IsActive' => '1'])
->groupBy('tbl_summer.StateID, tbl_states.state_name')
->orderBy(['tbl_states.state_name' => SORT_ASC]);
我认为如果一个ID只有一个名称,则不需要groupBy
中的第二个字段。