Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
 /**
  * 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;
 }