Yii::t('common/inventory_item', 'Id Inventory Item'), 'id_inventory' => Yii::t('common/inventory_item', 'Id Inventory'), 'count_in' => Yii::t('common/inventory_item', 'Count In'), 'count_sold' => Yii::t('common/inventory_item', 'Count Sold'), 'count' => Yii::t('common/inventory_item', 'Leltározott mennyiség'), 'type' => Yii::t('common/inventory_item', 'Type'), 'id_product' => Yii::t('common/inventory_item', 'Id Product'), 'id_inventory_group' => Yii::t('common/inventory_item', 'Id Inventory Group'), 'id_user' => Yii::t('common/inventory_item', 'Id User'), 'created_at' => Yii::t('common/inventory_item', 'Created At'), 'updated_at' => Yii::t('common/inventory_item', 'Updated At'), ]; } public function behaviors() { return ArrayHelper::merge( [ [ 'class' => UserAwareBehavior::className(), ], [ 'class' => ProductAwareBehavior::className(), ] ], parent::behaviors()); } public static function creqteQueryInventoryItems($id_inventory ) { $query = InventoryItem::find(); $query->andWhere(['inventory_item.id_inventory' => $id_inventory]); return $query; } public function getProduct(){ return $this->hasOne( Product::className() , [ 'id_product' => 'id_product' ]); } public function getInventoryGroup(){ return $this->hasOne( Product::className() , [ 'id_inventory_group' => 'id_inventory_group' ]); } public function getProductName(){ $result = ""; $product = $this->product; if ( isset($product)){ $result = $product->name; } return $result; } public function getInventoryGroupName(){ $result = ""; $product = $this->inventoryGroup; if ( isset($product)){ $result = $product->name; } return $result; } public function getName(){ $name = ""; if ( isset($this->id_product )){ $name = $this->getProductName(); }else{ $name = $this->getInventoryGroupName(); } return $name; } public function getDifference(){ $diff = $this->count - ( $this->count_prev + $this->count_in - $this->count_sold ); return $diff; } public function afterSave($insert, $changedAttributes){ if ( !$insert ){ if ( $this->type == 'product'){ $product = $this->product; $product->stock = $this->count; if ( !$product->save(false) ){ \Yii::error("Failed to save product stock"); throw new \Exception("A leltár elem mentése nem sikerült"); } } } } }