如何通过desc查找具有订单的特定列的所有内容?
代码bellow工作,并从开发人员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'));
有任何建议要这样做吗?谢谢
答案 0 :(得分:17)
在您的模型中,添加此功能:
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();
答案 1 :(得分:8)
你可以试试这个 -
$id = Yii::app()->user->getState('id');
$model = Games::model()->findAll(array("condition" => "developer_id = '".$id."'","order" => "status"));
它应该是工作
答案 2 :(得分:1)
您可以尝试使用标准:
$id = Yii::app()->user->getState('id');
$criteria=new CDbCriteria;
$criteria->compare('developer_id',$id);
$criteria->order='status DESC';
$models = Games::model()->findAll($criteria);
答案 3 :(得分:0)
这不是最好的方法,但您可以这样做:
$models = Games::model()->findAll('developer_id='.$id.' order by status DESC');