You don't have javascript enabled. Good luck! :(

欢迎页

Welcome to Ganace's Blog


欢迎您来到Ganace 的个人博客。

在茫茫互联网的海洋里能够遇见,实在是一份不小的幸运。

诚挚地向您问候一声:您好,朋友!

这里是属于Ganace个人的隐秘小空间,记录了工作学习中遇到的知识点与灵感,以及生活中的碎碎念与吐槽突如其来的中二病尬尬的文艺时间锻炼腹肌的时刻惊喜的小发现等等。

想要在自己的平淡无奇的人生长河中留下些什么,

或者只是为了拯救老人家岌岌可危的记忆力,

仅此而已。

来到此地,分享与你。

也期待与您的再次相遇!

Share with Me


有任何的分享或者建议与吐槽,都可以Email我:ganace@foxmail.com

欢迎您的来信!

【PHP|Yii2|SQL数据提供者】关于SQL数据提供者(SqlDataProvider)默认排序问题

  Sep 27, 2017     Ganace     Back-end-Development

PHP
Yii2

这里是一篇Ganace记录的关于SQL数据提供者(SqlDataProvider)默认排序问题的文章。

默认排序


基本使用

$sql = 'SELECT * FROM `post` WHERE `date` LIKE '2017%''
$sql_count = 'SELECT COUNT(\*) FROM `post` WHERE `date` LIKE '2017%'';
$params=[':one' => 1];
$count = Yii::$app->db->createCommand($sql_count)
    ->bindValues($params)
    ->queryScalar();
$dataProvider = new SqlDataProvider([
    'sql' => $sql,
    'params' => $params,
    'totalCount' => $count,
    'pagination' => [
        'pageSize' =>25,
    ],
    'sort' => [
        'attributes' => [
            'title',
            'view_count',
            'created_at',
        ],
        'defaultOrder'=>[
            'title' => SORT_ASC,
        ],
    ],
]);

代码说明

  • 在原来的SqlDataProvider基础使用上,添加’defaultOrder’属性到’sort’中,并在’defaultOrder’中列出需要默认排序的字段,以及排序规则

  • 代码中'defaultOrder'=>['title' => SORT_ASC],即表示默认打开渲染页面,表格中title字段的值按照递增排序

  • 关于排除规则 :SORT_ASC:递增排序,即按升序排列 (A-Z) :SORT_DESC:递减排序,即按降序排列 (Z-A)