| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- <?php
 
- namespace common\models;
 
- use common\behaviors\PositionBehavior;
 
- use common\behaviors\CacheInvalidateBehavior;
 
- use common\modules\attachment\behaviors\UploadBehavior;
 
- use Yii;
 
- use yii\behaviors\TimestampBehavior;
 
- use yii\db\ActiveRecord;
 
- /**
 
-  * This is the model class for table "carousel_item".
 
-  *
 
-  * @property integer $id
 
-  * @property integer $carousel_id
 
-  * @property string $image
 
-  * @property string $url
 
-  * @property string $caption
 
-  * @property string $subtitle
 
-  * @property integer $status
 
-  * @property integer $sort
 
-  * @property integer $height
 
-  *
 
-  * @property Carousel $carousel
 
-  */
 
- class CarouselItem extends ActiveRecord
 
- {
 
-     const STATUS_DRAFT = 0;
 
-     const STATUS_ACTIVE = 1;
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public static function tableName()
 
-     {
 
-         return '{{%carousel_item}}';
 
-     }
 
-     public function scenarios()
 
-     {
 
-         $scenarios = parent::scenarios();
 
-         $key = array_search('carousel_id', $scenarios[self::SCENARIO_DEFAULT], true);
 
-         $scenarios[self::SCENARIO_DEFAULT][$key] = '!carousel_id';
 
-         return $scenarios;
 
-     }
 
-     public function behaviors()
 
-     {
 
-         return [
 
-             TimestampBehavior::className(),
 
-             [
 
-                 'class' => PositionBehavior::className(),
 
-                 'positionAttribute' => 'sort',
 
-                 'groupAttributes' => ['carousel_id']
 
-             ],
 
-             'cacheInvalidate' => [
 
-                 'class' => CacheInvalidateBehavior::className(),
 
-                 'keys' => [
 
-                     function ($model) {
 
-                         return [
 
-                             Carousel::className(),
 
-                             $model->carousel->key
 
-                         ];
 
-                     }
 
-                 ]
 
-             ]
 
-         ];
 
-     }
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public function rules()
 
-     {
 
-         return [
 
-             [['carousel_id'], 'required'],
 
-             [['carousel_id', 'status', 'sort', 'height'], 'integer'],
 
-             [['url', 'caption', 'subtitle'], 'string', 'max' => 1024],
 
-             ['image', 'safe']
 
-         ];
 
-     }
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public function attributeLabels()
 
-     {
 
-         return [
 
-             'id' => Yii::t('common', 'ID'),
 
-             'carousel_id' => Yii::t('common', 'Carousel ID'),
 
-             'image' => Yii::t('common', 'Image'),
 
-             'url' => Yii::t('common', '小程序页面'),
 
-             'caption' => Yii::t('common', 'Caption'),
 
-             'subtitle' => Yii::t('common', '副标题'),
 
-             'status' => '是否启用',
 
-             'sort' => '排序',
 
-             'height' => '图片高度'
 
-         ];
 
-     }
 
-     public function attributeHints()
 
-     {
 
-         return [
 
-             'url' => '格式: /pages/index/index?id=1'
 
-         ];
 
-     }
 
-     /**
 
-      * @return \yii\db\ActiveQuery
 
-      */
 
-     public function getCarousel()
 
-     {
 
-         return $this->hasOne(Carousel::className(), ['id' => 'carousel_id']);
 
-     }
 
- }
 
 
  |