2018-11-24 21:33:25 1243次浏览 1条回答 0 悬赏 30 金钱

我在看权威指南的时候上面说典型的排序使用方法如下:

$sort = new Sort([
    'attributes' => [
        'age',
        'name' => [
            'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
            'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
            'default' => SORT_DESC,
            'label' => 'Name',
        ],
    ],
]);

$articles = Article::find()
    ->where(['status' => 1])
    ->orderBy($sort->orders)
    ->all();

我就想问一下,既然只是用一条规则为什么要定义那么多呢?如果定义了那么多规则,这些规则又是如何应用的?如果我定义了多条规则,但是我只想调用其中的一条,我应该如何做???
多谢指教!

补充于 2018-11-26 09:01

相比较创建一个 sort 对象,直接这样写:

$articles = Article::find()
->where(['status' => 1])
->orderBy(['name'=>SORT_DESC])
->all();

岂不是更简单?

最佳答案

  • 刘师傅 发布于 2018-11-29 09:42 举报

    其实对于排序这个,我也是还不太明白,目前还是简单的用法,其中各个逻辑原理尚不明,主要感觉不是很重要,开发中没有多少需要这个,所以没有上心。呵呵,就是优先级不够呗!

    1 条回复
    回复于 2018-11-29 12:36 回复

    先凑合着用吧,还是要感谢你的热心了。

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
sk811229
经理

sk811229

注册时间:2018-05-23
最后登录:2022-10-06
在线时长:16小时47分
  • 粉丝0
  • 金钱770
  • 威望10
  • 积分1030

热门问题