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]);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章