首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Yii - findAll的订单

Yii - findAll的订单
EN

Stack Overflow用户
提问于 2014-11-17 02:33:46
回答 5查看 39.4K关注 0票数 5

如何使用带顺序的特定列进行findAll?

代码bellow工作并从开发人员id中找到所有

代码语言:javascript
运行
复制
$id = Yii::app()->user->getState('id');
$models = Games::model()->findAll('developer_id='.$id);

码波纹管工作并订购

代码语言:javascript
运行
复制
$models = Games::model()->findAll(array('order'=>'status'));

当我混合在一起时,只为findAll developer_id=‘工作。$id不是由订购的

代码语言:javascript
运行
复制
$id = Yii::app()->user->getState('id');
$models = Games::model()->findAll('developer_id='.$id,array('order'=>'status'));

有什么建议吗?谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-11-17 02:39:30

在您的模型中,添加以下函数:

代码语言:javascript
运行
复制
public function scopes() {
    return array(
        'bystatus' => array('order' => 'status DESC'),
    );
}

现在,您可以这样执行查询:

代码语言:javascript
运行
复制
$models = Games::model()->bystatus()->findAll('developer_id='.$id);

=====

奖励:您还可以在模型中添加此函数:

代码语言:javascript
运行
复制
public function bydeveloper($devId) {
    $this->getDbCriteria()->mergeWith(array(
        'condition' => 'developer_id = '.$devId,
    ));
    return $this;
}

现在,您可以这样执行查询:

代码语言:javascript
运行
复制
$models = Games::model()->bystatus()->bydeveloper($id)->findAll();
票数 18
EN

Stack Overflow用户

发布于 2015-05-20 10:40:22

你可以试试这个-

代码语言:javascript
运行
复制
$id = Yii::app()->user->getState('id');

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

它应该是工作

票数 10
EN

Stack Overflow用户

发布于 2016-03-23 10:34:37

您可以尝试使用标准:

代码语言:javascript
运行
复制
$id = Yii::app()->user->getState('id');
$criteria=new CDbCriteria;
$criteria->compare('developer_id',$id);
$criteria->order='status DESC';

$models = Games::model()->findAll($criteria);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26964641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档