Blame view

common/models/CartBillsSearch.php 2.06 KB
f68e7edd   Mihail   add bills models,...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  <?php
  
  namespace common\models;
  
  use common\components\CustomVarDamp;
  use Yii;
  use yii\base\Model;
  use yii\data\ActiveDataProvider;
  use common\models\CartBillsView;
  
  /**
   * CartBillsSearch represents the model behind the search form about `common\models\CartBills`.
   */
  class CartBillsSearch extends CartBillsView
  {
7f6a9301   Mihail   add mails classes
16
      public $date_to;
f68e7edd   Mihail   add bills models,...
17
18
19
20
21
22
23
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
              [['id', 'account_id', 'status'], 'integer'],
7f6a9301   Mihail   add mails classes
24
              [['dt', 'date_to'], 'string', 'max' => 10],
f68e7edd   Mihail   add bills models,...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function scenarios()
      {
          // bypass scenarios() implementation in the parent class
          return Model::scenarios();
      }
  
      /**
       * Creates data provider instance with search query applied
       *
       * @param array $params
       *
       * @return ActiveDataProvider
       */
      public function search($params)
      {
          $query = CartBillsView::find();
  
          $dataProvider = new ActiveDataProvider([
              'query' => $query,
          ]);
  
          $this->load($params);
7f6a9301   Mihail   add mails classes
53
  
f68e7edd   Mihail   add bills models,...
54
          if (!$this->validate()) {
f6c3dc95   Mihail   finish with cart ...
55
  
f68e7edd   Mihail   add bills models,...
56
              return $dataProvider;
f6c3dc95   Mihail   finish with cart ...
57
58
59
60
61
62
63
  
          }
  
          if (  !$params || !$params['CartBillsSearch'] ) {
              // если не переданы параметры - показываем первые 100 записей
              $query->limit = 100;
  
f68e7edd   Mihail   add bills models,...
64
65
66
67
68
          }
  
          $query->andFilterWhere([
              'id' => $this->id,
              'account_id' => $this->account_id,
f68e7edd   Mihail   add bills models,...
69
70
71
              'status_id' => $this->status,
          ]);
  
f6c3dc95   Mihail   finish with cart ...
72
73
74
          if( !empty( $this->dt ) || !empty( $this->date_to ) ){
              $date_from = \Yii::$app->converter->convertTo( 'timestamp', $this->dt );
              $date_to = \Yii::$app->converter->convertTo( 'timestamp', $this->date_to, ['begin_of_the_day' => false] );
7f6a9301   Mihail   add mails classes
75
76
77
78
  
              $query->andFilterWhere([
                  'between', 'dt', $date_from, $date_to
              ]);
7f6a9301   Mihail   add mails classes
79
  
f6c3dc95   Mihail   finish with cart ...
80
          }
f68e7edd   Mihail   add bills models,...
81
82
83
  
          return $dataProvider;
      }
7f6a9301   Mihail   add mails classes
84
85
86
87
88
  
      public static function findById($id){
  
          return CartBillsView::find()->where(['id' => $id])->one();
      }
f68e7edd   Mihail   add bills models,...
89
  }