Php 按相关数据排序不';行不通

Php 按相关数据排序不';行不通,php,sql,yii,Php,Sql,Yii,我有一个关系模型: public function relations() { return array( 'fidistr' => array(self::BELONGS_TO, 'Distributors', 'fidistr_id', 'order'=>'fsname'), 'fitown' => array(self::BELONGS_TO, 'Town', 'fitown_id'), 'distributorsP

我有一个关系模型:

public function relations()
{
    return array(
        'fidistr' => array(self::BELONGS_TO, 'Distributors', 'fidistr_id', 'order'=>'fsname'),
        'fitown' => array(self::BELONGS_TO, 'Town', 'fitown_id'),
        'distributorsPointMails' => array(self::HAS_MANY, 'DistributorsPointMail', 'fidistr_point_id'),
        'distributorsPointPhones' => array(self::HAS_MANY, 'DistributorsPointPhones', 'fidistr_point_id'),
    );
}
我想从相关表中按“fsname”排序数据。我试过这个:

$models = DistributorsPoint::model()->findAll('fitown_id=:id', array('id' => $_POST['city_id']));

但它仍然返回未排序的数据。请提供帮助。

关系上的
订单
仅在延迟加载关系时使用

注意:使用“订单”等关系选项时, “组”、“有”、“限制”和“偏移”将被忽略。你应该 如果需要,请在主模型标准级别设置此类参数 它们将被应用

可以传递条件数组而不是字符串作为的第一个参数。这将用于初始化
CDbCriteria
对象。若要按关系订购,您需要使用以下命令来创建关系:

$models = DistributorsPoint::model()
    ->with('fidistr')
    ->findAll(array(
        'condition' => 'fitown_id=:id',
        'order'     => 'fidistr.fsname',
        'params'    => array(':id' => $_POST['city_id'])
   ));