yii2(时间区段)多条件搜索加分页(between)

这里的时间是date  我数据库存的是 时间戳   yii有个between

web页面就是两个input框 就不展示了  

andWhere和andFilterWhere都可以用来追加条件,只是andFilterWhere会忽略条件中的空值

时间区段搜索需要注意,开始时间不填/结束时间不填情况的搜索

 控制器:

$query = OrderDealer::find();
 
 
$this->get_search_date($query, 'create_time');

//yii自带的分页
$countQuery = clone $query;
$pages = new Pagination([
    'totalCount' => $countQuery->count(),
    'pageSize' => 10,
]);
$order_info = $query->offset($pages->offset)->limit($pages->limit)->orderBy($order)->all();
public function get_search_date($query, $field)
{
    $end_date = strtotime($this->_request->get('end_date')) + 86400 - 1;
    $start_date = strtotime($this->_request->get('start_date'));
    if ($end_date && $this->_request->get('end_date')) {
        $query->andWhere(['between', $field, $start_date, $end_date]);
    } else if ($start_date) {
        $query->andWhere(['>=', $field, $start_date]);
    } else if ($this->_request->get('end_date')) {
        $query->andWhere(['<=', $field, $end_date]);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40012791/article/details/79985605