<?php

namespace common\modules\product\models;

use Yii;

/**
 * This is the model class for table "product_unit".
 *
 * @property integer $product_unit_id
 * @property string $name
 * @property string $code
 * @property boolean $is_default
 *
 * @property Category[] $categories
 * @property ProductVariant[] $productVariants
 */
class ProductUnit extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'product_unit';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name', 'code'], 'required'],
            [['is_default'], 'boolean'],
            [['name'], 'string', 'max' => 255],
            [['code'], 'string', 'max' => 50],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'product_unit_id' => Yii::t('product', 'Product Unit ID'),
            'name' => Yii::t('product', 'Name'),
            'code' => Yii::t('product', 'Code'),
            'is_default' => Yii::t('product', 'Is Default'),
        ];
    }

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

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