Team.php 4.29 KB
<?php

    namespace common\models;

    use Yii;
    use yii\behaviors\BlameableBehavior;
    use yii\behaviors\TimestampBehavior;
    use yii\db\Expression;

    /**
     * This is the model class for table "team".
     * @property integer $team_id
     * @property integer $user_id
     * @property string  $firstname
     * @property string  $lastname
     * @property string  $middlename
     * @property string  $link
     * @property string  $position
     * @property integer $department_id
     * @property string  $experience_from
     * @property string  $date_add
     * @property integer $user_add_id
     * @property string  $photo
     * @property string  $country_id
     */
    class Team extends \yii\db\ActiveRecord
    {

        /**
         * @inheritdoc
         */
        public static function tableName()
        {
            return 'team';
        }

        /**
         * @inheritdoc
         */
        public function behaviors()
        {
            return [
                [
                    'class'              => BlameableBehavior::className(),
                    'createdByAttribute' => 'user_id',
                    'updatedByAttribute' => false,
                ],
                [
                    'class'              => TimestampBehavior::className(),
                    'createdAtAttribute' => 'date_add',
                    'updatedAtAttribute' => false,
                    'value'              => new Expression('NOW()'),
                ],
            ];
        }

        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                [
                    [
                        'firstname',
                        'lastname',
                        'position',
                        'country_id',
                    ],
                    'required',
                ],
                [
                    [
                        'department_id',
                    ],
                    'integer',
                ],
                [
                    [
                        'experience_from',
                    ],
                    'integer',
                    'max' => 2016,
                    'min' => 1950,
                ],
                [
                    [
                        'experience_from',
                    ],
                    'safe',
                ],
                [
                    [
                        'firstname',
                        'lastname',
                        'middlename',
                        'link',
                        'position',
                        'photo',
                        'country_id',
                    ],
                    'string',
                    'max' => 255,
                ],
                [
                    ['experience_from'],
                    'default',
                    'value' => date('Y'),
                ],
            ];
        }

        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
                'team_id'         => Yii::t('app', 'Team ID'),
                'user_id'         => Yii::t('app', 'User ID'),
                'firstname'       => Yii::t('app', 'Имя'),
                'lastname'        => Yii::t('app', 'Фамилия'),
                'middlename'       => Yii::t('app', 'Отчество'),
                'link'            => Yii::t('app', 'Ссылка на профиль МФП'),
                'position'        => Yii::t('app', 'Должность'),
                'department_id'   => Yii::t('app', 'Отдел компании'),
                'experience_from' => Yii::t('app', 'Опыт'),
                'date_add'        => Yii::t('app', 'дата добавления'),
                'user_add_id'     => Yii::t('app', 'User Add ID'),
                'photo'           => Yii::t('app', 'Фото'),
                'country_id'      => Yii::t('app', 'Страна'),
            ];
        }

        public function getDepartment()
        {
            return $this->hasOne(Department::className(), [ 'department_id' => 'department_id' ]);
        }

        public function getUser()
        {
            return $this->lastname. ' ' . $this->firstname . ' ' . $this->middlename;
        }

    }