สอบถามหน่อยครับ ในส่วนของ Controller delete ผมจะให้ลบทั้ง DB ละ ไฟล์ที่อัพโหลดไปต้องทำยังไงคับ

289 สังคมนักพัฒนาระบบ (Community)

คือตอนนี้ผมทำการ upload ไฟล์ พร้อมกับเก็บชื่อไฟล์ไว้ใน db แล้ว   ตอนนี้ถ้าผมกด delete ไปตอนนี้มันจะลบแค่ในส่วนข้อมูลใน db แต่ไม่ลบไฟล์  ถ้าผมต้องให้ลบไฟล์ด้วยผมต้องเขียนยังไงครับ

 

    public function actionCreate()
    {
        $model = new Upload();

        if ($model->load(Yii::$app->request->post())) {
            $file = UploadedFile::getInstance($model,'pdf_file');
            
            if($file->size!=0){
                $model->file_name = md5($file->baseName.time());
                $file->saveAs('upload/finance/'.md5($file->baseName.time()));
                $model->save();
                
            }
            
            
            return $this->redirect(['view', 'id' => $model->id]);
        }

        return $this->render('create', [
            'model' => $model,
        ]);
    }




 public function actionDelete($id)
    {
        $this->findModel($id)->delete();

        return $this->redirect(['index']);
        
        

 

คำตอบ/อธิบาย

มานพ กองอุ่น

มานพ กองอุ่น

ตอบเมื่อ

$model = $this->findModel($id);
@unlink(Yii::getAlias('@webroot').'/upload/finance/'.$model->photo);
$model->delete();

 

ตอบเมื่อ

ขอบคุณมากครับ ^_^