255], [['remote_id'], 'string', 'max' => 20], // [['imagesUpload'], 'safe'], // [['imagesUpload'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg, gif', 'maxFiles' => 50], [['product_unit_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductUnit::className(), 'targetAttribute' => ['product_unit_id' => 'product_unit_id']], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'product_variant_id' => Yii::t('product', 'Product Variant ID'), 'product_id' => Yii::t('product', 'Product ID'), 'name' => Yii::t('product', 'Name'), 'sku' => Yii::t('product', 'Sku'), 'price' => Yii::t('product', 'Price'), 'price_old' => Yii::t('product', 'Price Old'), 'stock' => Yii::t('product', 'Stock'), 'product_unit_id' => Yii::t('product', 'Product Unit ID'), 'product_variant_type_id' => Yii::t('product', 'Product Variant Type ID'), 'stock_caption' => Yii::t('product', 'Stock'), 'image' => Yii::t('product', 'Image'), 'images' => Yii::t('product', 'Images'), ]; } /** * @return \yii\db\ActiveQuery */ public function getProductUnit() { return $this->hasOne(ProductUnit::className(), ['product_unit_id' => 'product_unit_id']); } /** * @return \yii\db\ActiveQuery */ public function getProductVariantType() { return $this->hasOne(ProductVariantType::className(), ['product_variant_type_id' => 'product_variant_type_id']); } /** * @return \yii\db\ActiveQuery */ public function getProduct() { return $this->hasOne(Product::className(), ['product_id' => 'product_id']); } public function getEnabled() { return $this->stock !== 0; } public function getStock_caption() { return is_null($this->stock) ? '∞' : intval($this->stock); } /** * @return \yii\db\ActiveQuery */ public function getImage() { return $this->hasOne(ProductImage::className(), ['product_variant_id' => 'product_variant_id']); } /** * fetch stored image url * @return string */ public function getImageUrl() { // return a default image placeholder if your source image is not found return !empty($this->image) ? $this->image->imageUrl : '/images/no_photo.png'; } /** * @return \yii\db\ActiveQuery */ public function getImages() { return $this->hasMany(ProductImage::className(), ['product_variant_id' => 'product_variant_id']); } /** * @inheritdoc * @return ProductVariantQuery the active query used by this AR class. */ public static function find() { return new ProductVariantQuery(get_called_class()); } public function getId(){ return $this->product_variant_id; } }