FileRelation.php 1.98 KB
<?php

namespace common\modules\fileloader\models;

use common\models\File;
use common\models\User;
use Yii;

/**
 * This is the model class for table "file_relation".
 *
 * @property integer $file_relation_id
 * @property integer $file_id
 * @property string $model
 * @property integer $model_id
 * @property integer $user_id
 * @property string $date_add
 * @property integer $status
 *
 * @property File $file
 * @property User $user
 */
class FileRelation extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'file_relation';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['file_id', 'model', 'model_id'], 'required'],
            [['file_id', 'model_id', 'user_id', 'status'], 'integer'],
            [['date_add'], 'safe'],
            [['model'], 'string', 'max' => 255],
            [['file_id'], 'exist', 'skipOnError' => true, 'targetClass' => File::className(), 'targetAttribute' => ['file_id' => 'file_id']],
            [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'id']],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'file_relation_id' => Yii::t('app', 'File Relation ID'),
            'file_id' => Yii::t('app', 'File ID'),
            'model' => Yii::t('app', 'Model'),
            'model_id' => Yii::t('app', 'Model ID'),
            'user_id' => Yii::t('app', 'User ID'),
            'date_add' => Yii::t('app', 'Date Add'),
            'status' => Yii::t('app', 'Status'),
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getFile()
    {
        return $this->hasOne(File::className(), ['file_id' => 'file_id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getUser()
    {
        return $this->hasOne(User::className(), ['id' => 'user_id']);
    }
}