Option.php 1.98 KB
<?php

namespace common\models;

use Yii;

/**
 * This is the model class for table "option".
 *
 * @property string $model
 * @property integer $option_id
 * @property integer $model_id
 * @property string $name
 * @property string $template
 * @property integer $option_pid
 * @property string $date_add
 *
 * @property Option $optionP
 * @property Option[] $options
 * @property OptionLang[] $optionLangs
 */
class Option extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'option';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['model_id', 'option_pid'], 'integer'],
            [['date_add'], 'safe'],
            [['model', 'name', 'template'], 'string', 'max' => 200]
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'model' => Yii::t('app', 'Model'),
            'option_id' => Yii::t('app', 'Option ID'),
            'model_id' => Yii::t('app', 'Model ID'),
            'name' => Yii::t('app', 'Name'),
            'template' => Yii::t('app', 'Template'),
            'option_pid' => Yii::t('app', 'Option Pid'),
            'date_add' => Yii::t('app', 'Date Add'),
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getParent()
    {
        return $this->hasOne(Option::className(), ['option_id' => 'option_pid']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getChildren()
    {
        return $this->hasMany(Option::className(), ['option_pid' => 'option_id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getOptionLangs()
    {
        return $this->hasMany(OptionLang::className(), ['option_id' => 'option_id']);
    }

    public function getValue()
    {
        return $this->hasOne(OptionLang::className(), ['option_id' => 'option_id'])->where(['option_lang.language_id' => 0]);
    }
}