1

使用 Yii 框架,如何通过“sortorder ASC, name ASC”对相关的模型修饰符值进行排序?我试过order->('modifiervalues.sortorder ASC, modifiervalues.name ASC')无济于事

<?php
    $item = Item::model()
    ->with("modifiergroups.modifiervalues")
    ->findByPk($id);
?>
4

2 回答 2

3

尝试

$item = Item::model()
        ->with('modifiergroups')
        ->find(array(
                'condition'=>'id = :id',
                'params'=>array('id'=>$id),
                'order'=>'modifiervalues.sortorder ASC, modifiervalues.name ASC'
              )
         );

或者(我实际上并没有尝试过这个,但它应该可以正常工作)

$item = Item::model()
        ->with(array('modifiergroups'=>array('order'=>'modifiervalues.sortorder ASC, modifiervalues.name ASC')))
        ->findByPk($id));

笔记:

  • 如果你with只给一个字段,我认为你不能按另一个字段排序。您应该给出with关系的名称。
  • CActiveRecord没有order方法
于 2012-06-12T03:32:18.717 回答
0
<?php
    $item = Item::model()
    ->with(array('modifiergroups'=>array('order'=>'modifiervalues.sortorder ASC, modifiervalues.name ASC')))
    ->findByPk($id));
?>

您还需要按顺序添加基本关系名称。试试这个。

于 2012-06-12T10:51:25.940 回答