'Product Certificate ID', 'product_id' => 'Product ID', 'link' => 'Link', ]; } public function beforeDelete() { if(parent::beforeDelete()) { $this->deleteFile(); return true; } else { return false; } } public function deleteFile() { $storage = \Yii::getAlias('@storage'); $file = $storage.'/certificates/'.$this->product->product_id.'/'.$this->link; if(file_exists($file)) { unlink($file); } } /** * @return \yii\db\ActiveQuery */ public function getProduct() { return $this->hasOne(Product::className(), ['product_id' => 'product_id']); } }