/** * Function list order * @param array $params Param search * @param int $pageSize The number of products on one page * @return \yii\data\ActiveDataProvider */ public function search($params, $pageSize = 30) { $query = self::find(); $query->orderBy('created_at DESC'); $query->where(['status' => ['$ne' => '']]); $dataProvider = new \yii\data\ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]); if (!($this->load($params) and $this->validate())) { return $dataProvider; } $query = SyaHelper::addMongoFilter($query, 'ecommerce_id', $this->ecommerce_id); $query = SyaHelper::addMongoFilter($query, 'status', $this->status); if (!empty($this->created_at)) { list($minDate, $maxDate) = explode(' to ', $this->created_at); $min_date = new \MongoDate(strtotime($minDate . ' 00:00:00')); $max_date = new \MongoDate(strtotime($maxDate . ' 23:59:59')); $query = SyaHelper::addMongoFilter($query, 'created_at', [$min_date, $max_date], 'between'); } return $dataProvider; }
/** * Function list order * @param array $params Param search * @param int $pageSize The number of products on one page * @return \yii\data\ActiveDataProvider */ public function search($params, $pageSize = 30) { $query = self::find(); $query->orderBy('created_at DESC'); $query->where(['status' => ['$ne' => '']]); $dataProvider = new \yii\data\ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => $pageSize]]); if (!($this->load($params) and $this->validate())) { return $dataProvider; } // Get Module in ecommerce $ecommerce = Ecommerce::module(); // Customer field $customerField = ArrayHelper::getValue($ecommerce->customerTable, 'fieldOrder'); $query = SyaHelper::addMongoFilter($query, 'ecommerce_id', $this->ecommerce_id); $query = SyaHelper::addMongoFilter($query, 'status', $this->status); $query = SyaHelper::addMongoFilter($query, 'customer', $this->customer, 'or', $customerField); $query = SyaHelper::addMongoFilter($query, 'product_text', $this->product_text, 'like', $customerField); if (!empty($this->created_at)) { list($minDate, $maxDate) = explode(' to ', $this->created_at); $min_date = strtotime($minDate . ' 00:00:00'); $max_date = strtotime($maxDate . ' 23:59:59'); $query = SyaHelper::addMongoFilter($query, 'created_at', [$min_date, $max_date], 'between'); } return $dataProvider; }