Blame view

models/Article.php 5.65 KB
593851ec   Alexey Boroda   First commit
1
2
  <?php
      
65dd0219   Alexey Boroda   -Bar tabs
3
      namespace artbox\weblog\models;
3b1725bf   Alexey Boroda   -Bug with fill re...
4
5
  
      use artbox\catalog\models\Product;
593851ec   Alexey Boroda   First commit
6
7
      use yii\behaviors\TimestampBehavior;
      use yii\db\ActiveRecord;
65dd0219   Alexey Boroda   -Bar tabs
8
9
      use artbox\core\behaviors\LanguageBehavior;
      use artbox\core\models\Language;
593851ec   Alexey Boroda   First commit
10
11
      use yii\db\ActiveQuery;
      use yii\web\Request;
3b1725bf   Alexey Boroda   -Bug with fill re...
12
  
593851ec   Alexey Boroda   First commit
13
14
15
      /**
       * This is the model class for table "blog_article".
       *
3b1725bf   Alexey Boroda   -Bug with fill re...
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  *@property integer              $id
       * @property string         $image
       * @property integer        $created_at
       * @property integer        $updated_at
       * @property integer        $deleted_at
       * @property integer        $sort
       * @property boolean        $status
       * @property integer        $author_id
       * @property ArticleLang[]  $blogArticleLangs
       * @property Language[]     $languages
       * @property Article[]      $relatedBlogArticles
       * @property Article[]      $blogArticles
       * @property BlogCategory[] $blogCategories
       * @property BlogCategory   $blogCategory
       * @property Product[]      $products
       * @property BlogTag[]      $blogTags
593851ec   Alexey Boroda   First commit
32
       * * * From language behavior *
3b1725bf   Alexey Boroda   -Bug with fill re...
33
34
35
36
37
38
39
       * @property ArticleLang    $lang
       * @property ArticleLang[]  $langs
       * @property ArticleLang    $objectLang
       * @property string         $ownerKey
       * @property string         $langKey
       * @property ArticleLang[]  $modelLangs
       * @property bool           $transactionStatus
593851ec   Alexey Boroda   First commit
40
41
42
43
44
45
       * @method string           getOwnerKey()
       * @method void             setOwnerKey( string $value )
       * @method string           getLangKey()
       * @method void             setLangKey( string $value )
       * @method ActiveQuery      getLangs()
       * @method ActiveQuery      getLang( integer $language_id )
3b1725bf   Alexey Boroda   -Bug with fill re...
46
       * @method ArticleLang[]    generateLangs()
593851ec   Alexey Boroda   First commit
47
48
49
50
51
52
       * @method void             loadLangs( Request $request )
       * @method bool             linkLangs()
       * @method bool             saveLangs()
       * @method bool             getTransactionStatus()
       * * End language behavior *
       * * From SaveImgBehavior
3b1725bf   Alexey Boroda   -Bug with fill re...
53
54
       * @property string|null    $imageFile
       * @property string|null    $imageUrl
593851ec   Alexey Boroda   First commit
55
56
57
58
       * @method string|null getImageFile( int $field )
       * @method string|null getImageUrl( int $field )
       * * End SaveImgBehavior
       */
3b1725bf   Alexey Boroda   -Bug with fill re...
59
      class Article extends ActiveRecord
593851ec   Alexey Boroda   First commit
60
61
62
63
64
65
66
67
      {
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
              return 'blog_article';
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
68
      
593851ec   Alexey Boroda   First commit
69
70
71
72
73
74
          public function behaviors()
          {
              return [
                  [
                      'class' => TimestampBehavior::className(),
                  ],
593851ec   Alexey Boroda   First commit
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
                  'language' => [
                      'class' => LanguageBehavior::className(),
                  ],
              ];
          }
          /**
           * @inheritdoc
           */
          public function rules()
          {
              return [
                  [
                      [
                          'created_at',
                          'updated_at',
                          'deleted_at',
                          'sort',
                          'author_id',
                      ],
                      'integer',
                  ],
                  [
                      [ 'status' ],
                      'boolean',
                  ],
                  [
                      [ 'image' ],
                      'string',
                      'max' => 255,
                  ],
              ];
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
107
      
593851ec   Alexey Boroda   First commit
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
                  'id'         => 'ID',
                  'image'      => 'Image',
                  'created_at' => 'Created At',
                  'updated_at' => 'Updated At',
                  'deleted_at' => 'Deleted At',
                  'sort'       => 'Sort',
                  'status'     => 'Status',
                  'author_id'  => 'Author ID',
              ];
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
124
      
593851ec   Alexey Boroda   First commit
125
126
127
128
129
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getRelatedBlogArticles()
          {
3b1725bf   Alexey Boroda   -Bug with fill re...
130
              return $this->hasMany(Article::className(), [ 'id' => 'related_blog_article_id' ])
593851ec   Alexey Boroda   First commit
131
132
                          ->viaTable('blog_article_to_article', [ 'blog_article_id' => 'id' ]);
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
133
      
593851ec   Alexey Boroda   First commit
134
135
136
          /**
           * @return \yii\db\ActiveQuery
           */
3b1725bf   Alexey Boroda   -Bug with fill re...
137
          public function getArticles()
593851ec   Alexey Boroda   First commit
138
          {
3b1725bf   Alexey Boroda   -Bug with fill re...
139
              return $this->hasMany(Article::className(), [ 'id' => 'blog_article_id' ])
593851ec   Alexey Boroda   First commit
140
141
                          ->viaTable('blog_article_to_article', [ 'related_blog_article_id' => 'id' ]);
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
142
      
593851ec   Alexey Boroda   First commit
143
144
145
146
147
148
149
150
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getBlogCategories()
          {
              return $this->hasMany(BlogCategory::className(), [ 'id' => 'blog_category_id' ])
                          ->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
151
      
593851ec   Alexey Boroda   First commit
152
153
154
155
156
157
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getBlogCategory()
          {
              return $this->hasOne(BlogCategory::className(), [ 'id' => 'blog_category_id' ])
3b1725bf   Alexey Boroda   -Bug with fill re...
158
                  ->viaTable('blog_article_to_category', [ 'blog_article_id' => 'id' ]);
593851ec   Alexey Boroda   First commit
159
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
160
      
593851ec   Alexey Boroda   First commit
161
162
163
164
165
166
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getProducts()
          {
              return $this->hasMany(Product::className(), [ 'id' => 'product_id' ])
3b1725bf   Alexey Boroda   -Bug with fill re...
167
                  ->viaTable('blog_article_to_product', [ 'blog_article_id' => 'id' ]);
593851ec   Alexey Boroda   First commit
168
          }
3b1725bf   Alexey Boroda   -Bug with fill re...
169
      
593851ec   Alexey Boroda   First commit
170
171
172
173
174
175
          /**
           * @return \yii\db\ActiveQuery
           */
          public function getBlogTags()
          {
              return $this->hasMany(BlogTag::className(), [ 'id' => 'blog_tag_id' ])
3b1725bf   Alexey Boroda   -Bug with fill re...
176
                  ->viaTable('blog_article_to_tag', [ 'blog_article_id' => 'id' ]);
593851ec   Alexey Boroda   First commit
177
178
          }
      }