php 表头排序,添加表头排序(2.0.0)

## addOrder('字段名')

如果有些字段需要排序功能,可以使用addOrder方法,将需要排序的字段名填写进去,多个字段用逗号隔开。

~~~

// 排序

$order = $this->getOrder('sort asc, id desc');

// 数据列表

$data_list = ArticleModel::getList($map, $order);

$fields =[

['id', 'ID'],

['title', '标题'],

['name', '栏目名称'],

['click_count', '点击量', 'text.edit'],

['add_time', '发布时间'],

['sort', '排序', 'text.edit'],

['status', '状态', 'status'],

['right_button', '操作', 'btn']

];

return Format::ins()//实例化

->addColumns($fields)//设置字段

->setSearch(['title'=>'文章标题'])

->setOrder('click_count,title')

->setTopButtons($this->top_button)

->setRightButtons($this->right_button)

->setData($data_list)//设置数据

->fetch();//显示

~~~

添加好排序字段后,还需要在查询数据之前获取排序的数据,使用`$this->getOrder()`即可。

![](https://img.kancloud.cn/6a/2e/6a2ee219ea313c3eeaf15d17cb1f0368_1226x231.png)

> 注意:默认情况下,添加排序的字段是当前数据表真实存在的字段名,如果使用视图查询的数据,需要指定数据表。

`getOrder()`方法除了可以获取排序数据外,还可以添加额外的排序字段,比如:

~~~

// 获取排序,并添加额外排序字段

$order = $this->getOrder('id desc,sort');

~~~

> 默认情况下,新增的额外排序字段会放在其他排序字段的后面,如果希望额外排序字段的优先级更高,可以把额外的排序字段前置。

~~~

// 获取排序,并将额外排序字段前置

$order = $this->getOrder('id desc,sort', true);

~~~

### 使用数组形式

~~~

return Format::ins()//实例化

->setOrder(['id','username']) // 添加排序

->fetch();

~~~

### 指定其他表的字段

如果数据是从视图查询得到的,即包含了多张表的情况,那么需指定数据表名,格式为:表名.字段名,没有指定表名的字段默认在当前表查询。

~~~

return Format::ins()//实例化

->setOrder('user.username,nickname') // 添加排序

->fetch();

~~~

也可以用数组的方式写,格式为`'字段名' => '表名'`

~~~

return Format::ins()//实例化

->addOrder(['title' => 'user', 'username']) // 添加排序

->fetch();

~~~

如果设置的字段别名,也可以指定其他表,并且指定其他字段名,格式为:`字段别名 => '表名.字段名'`

~~~

return Format::ins()//实例化

->addOrder([article_title' => 'article.title']) // 添加排序

->fetch();

~~~

其中`article_title`是字段别名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值