php - Yii - findAll 排序依据

标签 php yii

如何按 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 不按 order by

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

有什么建议吗?谢谢

最佳答案

在你的模型中,添加这个函数:

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();

关于php - Yii - findAll 排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26964641/

相关文章:

php - jQuery 按类调整文档上所有图像的大小

php - VB 的 "AndAlso"在 PHP 中的等价物是什么?

php - yii 控制台命令自定义帮助信息

php - Yii 复合主键与 isNewRecord

ajax - Yii Ajax 请求 CSRF 无法验证

php - $_GET 和 table.php?ini=ABC

php - 在 Laravel 中使用类别进行唯一验证以进行插入和更新

PHP为任何数据库编写程序

php - 在 Yii2 的其他地方渲染 View - 没有 renderPartial?

yii - 浏览 Yii 关系的限制