5.0.0 - 普通 - 已处理
public function whereTime($field, $op, $range = null)
{
if (is_null($range)) {
// 使用日期表达式
$date = getdate();
switch (strtolower($op)) {
case 'today':
case 'd':
$range = 'today';
break;
case 'week':
case 'w':
$range = 'this week 00:00:00';
break;
case 'month':
case 'm':
$range = mktime(0, 0, 0, $date['mon'], 1, $date['year']);
break;
case 'year':
case 'y':
$range = mktime(0, 0, 0, 1, 1, $date['year']);
break;
case 'yesterday':
$range = ['yesterday', 'today'];
break;
case 'last week':
$range = ['last week 00:00:00', 'this week 00:00:00'];
break;
case 'last month':
$range = [date('y-m-01', strtotime('-1 month')), mktime(0, 0, 0, $date['mon'], 1, $date['year'])];
break;
case 'last year':
$range = [mktime(0, 0, 0, 1, 1, $date['year'] - 1), mktime(0, 0, 0, 1, 1, $date['year'])];
break;
}
$op = is_array($range) ? 'between' : '>';
}
$this->where($field, strtolower($op) . ' time', $range);
return $this;
}1.$op = is_array($range) ? 'between' : '>';返回大于或者区间查询,其它操作不支持2.
$this->where($field, strtolower($op) . ' time', $range); 同样,也不能输出想要的结果3. 手册中的实例:
// 获取今天的博客 db('blog') ->whereTime('create_time', 'today') ->select(); // 获取昨天的博客 db('blog') ->whereTime('create_time', 'yesterday') ->select();并不能实现,期待新版修复。 