ObjectkbLang.php 4.21 KB
<?php
    
    namespace common\models;
    
    use yii\db\ActiveRecord;
    use artbox\core\models\Language;
    use artbox\core\models\Alias;
    use Yii;
    use artbox\core\behaviors\SlugBehavior;
    
    /**
     * User: timur
     * Date: 25.01.18
     * Time: 12:58
     */
    class ObjectkbLang extends ActiveRecord
    {
        
        /**
         * @return string
         */
        public static function tableName()
        {
            return "object_lang";
        }
        
        /**
         * @inheritdoc
         */
        public function behaviors()
        {
            return [
                'slug' => [
                    'class'       => SlugBehavior::className(),
                    'action'      => 'object/view',
                    'params'      => [
                        'id' => 'object_id',
                    ],
                    'fields'      => [
                        'object_name' => 'Object name',
                    ],
                    'inAttribute' => 'object_name',
                ],
            ];
        }
        
        /**
         * @return array
         */
        public function rules()
        {
            return [
                [
                    [
                        'object_id',
                        'language_id',
                        'upper_text',
                        'about_object_text',
                        'object_name',
                    ],
                    'required',
                ],
                [
                    [
                        'object_id',
                        'language_id',
                    ],
                    'integer',
                ],
                [
                    [
                        'upper_text',
                        'about_object_text',
                    ],
                    'string',
                ],
                [
                    [
                        "object_name"
                    ],
                    'string',
                    'max' => 150
                ],
                [
                    [
                        "aliasValue"
                    ],
                    'string',
                    'max' => 255
                ],
                [
                    [ 'object_id' ],
                    'exist',
                    'skipOnError'     => true,
                    'targetClass'     => Objectkb::className(),
                    'targetAttribute' => [ 'object_id' => 'id' ],
                ],
                [
                    [ 'language_id' ],
                    'exist',
                    'skipOnError'     => true,
                    'targetClass'     => Language::className(),
                    'targetAttribute' => [ 'language_id' => 'id' ],
                ],
            
            ];
        }
        
        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
                'object_id'         => Yii::t('core', 'Object ID'),
                'language_id'       => Yii::t('core', 'Language ID'),
                'alias_id'          => Yii::t('core', 'Alias'),
                'aliasValue'        => Yii::t('core', 'Alias'),
                'upper_text'        => Yii::t('core', 'Upper Text'),
                'about_object_text' => Yii::t('core', 'About object text'),
                'object_name'       => Yii::t('core', 'Object name'),
            ];
        }
        
        /**
         * @return \yii\db\ActiveQuery
         */
        public function getObject()
        {
            return $this->hasOne(Objectkb::className(), [ 'id' => 'object_id' ]);
        }
        
        /**
         * @return \yii\db\ActiveQuery
         */
        public function getLanguage()
        {
            return $this->hasOne(Language::className(), [ 'id' => 'language_id' ]);
        }
        
        /**
         * @return \yii\db\ActiveQuery
         */
        public function getAlias()
        {
            return $this->hasOne(Alias::className(), [ 'id' => 'alias_id' ]);
        }
        
        public static function primaryKey()
        {
            return [
                'object_id',
                'language_id',
            ];
        }
        
    }