传统方式
可以使用>、<、>=、<=来筛选匹配时间的数据;
public function index()
{$res = Db::name('user')->where('create_time', '>', '2018-1-1')->select();dump($res);
}
可以使用 between 关键字来设置时间的区间;
public function index()
{$res1 = Db::name('user')->where('create_time', 'between', ['2018-1-1','2019-12-31'])->select();dump($res1);$res2 = Db::name('user')->where('create_time', 'not between', ['2018-1-1','2019-12-31'])->select();dump($res2);
}
快捷方式
时间查询的快捷方法为 whereTime(),直接使用>、<、>=、<=
public function index()
{$res1 = Db::name('user')->whereTime('create_time', '>', '2018-1-1')->select();dump($res1);
}
默认的大于>,可以省略
Db::name('user')->whereTime('create_time', '2018-1-1')->select();
快捷方式也可以使用 between 和 not between
public function index()
{$res = Db::name('user')->whereBetween('create_time', ['2018-1-1','2019-12-31'])->select();dump($res);
}
还有一种快捷方式为:whereBetweenTime()和 whereNotBetweenTime()
public function index()
{$res = Db::name('user')->whereBetweenTime('create_time', '2018-1-1', '2019-12-31')->select();dump($res);
}
固定查询
使用 whereYear 查询今年的数据、去年的数据和某一年的数据
public function index()
{$res = Db::name('user')->whereYear('create_time')->select();dump($res);$res = Db::name('user')->whereYear('create_time', 'last year')->select();dump($res);$res = Db::name('user')->whereYear('create_time', '2016')->select();dump($res);
}
使用 whereMonth 查询当月的数据、上月的数据和某一个月的数据
public function index()
{$res = Db::name('user')->whereMonth('create_time')->select();dump($res);$res = Db::name('user')->whereMonth('create_time', 'last month')->select();dump($res);$res = Db::name('user')->whereMonth('create_time', '2016-6')->select();dump($res);
}
使用 whereDay 查询今天的数据、昨天的数据和某一个天的数据
public function index()
{$res1 = Db::name('user')->whereDay('create_time')->select();dump($res1);$res1 =Db::name('user')->whereDay('create_time', 'last day')->select();dump($res1);$res1 =Db::name('user')->whereDay('create_time', '2016-6-27')->select();dump($res1);
}
其它查询
查询指定时间的数据,比如两小时内的
public function index()
{$res = Db::name('user')->whereTime('create_time', '-2 hours')->select();dump($res);
}
查询两个时间字段时间有效期的数据,比如会员开始到结束的期间
public function index()
{$res = Db::name('user')->whereBetweenTimeField('create_time','update_time')->select();dump($res);
}