Yii - findAll 排序依据

新手上路,请多包涵

如何按 desc 顺序查找具有特定列的全部?

下面的代码有效并从开发人员 ID 中找到所有内容

$id = Yii::app()->user->getState('id');
$models = Games::model()->findAll('developer_id='.$id);

代码波纹管工作并订购

$models = Games::model()->findAll(array('order'=>'status'));

当我混合在一起时,只为 findAll developer_id=’ 工作。$id 不按

$id = Yii::app()->user->getState('id');
$models = Games::model()->findAll('developer_id='.$id,array('order'=>'status'));

有什么建议吗?谢谢

原文由 TheSmile 发布,翻译遵循 CC BY-SA 4.0 许可协议

回复
阅读 69
2 个回答

在您的模型中,添加此功能:

 public function scopes() {
    return array(
        'bystatus' => array('order' => 'status DESC'),
    );
}

现在您可以像这样进行查询:

 $models = Games::model()->bystatus()->findAll('developer_id='.$id);

=====

奖励:您还可以在模型中添加此功能:

 public function bydeveloper($devId) {
    $this->getDbCriteria()->mergeWith(array(
        'condition' => 'developer_id = '.$devId,
    ));
    return $this;
}

现在您可以像这样进行查询:

 $models = Games::model()->bystatus()->bydeveloper($id)->findAll();

原文由 Samuel Liew 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以试试这个 -

 $id = Yii::app()->user->getState('id');

$model = Games::model()->findAll(array("condition" => "developer_id = '".$id."'","order" => "status"));

它应该是工作

原文由 Milap Jethwa 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏