addTimeFilter('字段名' [,'开始日期和结束日期', '开始日期和结束日期的提示'])

版本 新增功能
1.0.6 支持自定义开始日期和结束日期,以及文本框提示信息

可以对某个时间字段进行时间段筛选,比如:

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time') // 添加时间段筛选
    ->fetch();

以上表示添加create_time字段的范围筛选,数据表格上方会出现时间段输入框。

注意:目前只支持一个字段,即addTimeFilter方法只能用一次,不可连续调用。

自定义开始日期和结束日期

从1.0.6版本开始,可以自定义开始日期和结束日期,自定义文本框提示信息,默认是“开始日期”和“结束日期”。

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
    ->fetch();

也可以使用数组

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time', ['2017-01-01', '2017-02-01']) // 添加时间段筛选
    ->fetch();

如果只写一个日期,则开始日期和结束日期相同

这样仅显示默认开始日期和结束日期,还需要配合$map查询默认的数据。

$map = $this->getMap();
if (!isset($map['create_time'])) {
    $map['create_time'] = ['between time', ['2017-01-01 00:00:00', '2017-02-01 23:59:59']]
}

$data_list = Db::name('admin_user')->where($map)->paginate();

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
    ->setRowList($data_list)
    ->fetch();

自定义文本框提示信息

从1.0.6版本开始,可以自定义文本框提示信息,默认是“开始日期”和“结束日期”。

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time', '', '开始时间,结束时间')
    ->fetch();

如果只写一个提示,则开始日期和结束日期相同的提示相同。

也可以使用数组

// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
	->addTimeFilter('create_time', '', ['开始时间', '结束时间'])
    ->fetch();