如何通过相关字段订购查询?

时间:2014-10-14 20:20:18

标签: yii

使用Yii 1.1.15假设我有一个模型:

State(id,name) ----- 1<>N ----- City(id,state_id,name)
#the only relevant field in each is `name`, having City the
#corresponding FK field to State.

想要按州名查询城市排序(asc),然后按城市名称查询(asc)。

City::model()->with('state')->findAll(array('order' => 'name ASC'));

如何更改排序条件以考虑州名?

(脚注:在像Python / Django这样的其他框架中我会做City.objects.select_related('state').order_by('state__name', 'name') - 即许多框架都支持嵌套排序 - Yii也有吗?)

1 个答案:

答案 0 :(得分:1)

使用此

City::model()->with(array('with'=>array(
                        'state'=>array(
                            'alias'=>'v',
                            'order'=>'t.name  ASC',
                        )
                    ))->findAll();