2016-10-22 14 views
0

我想添加一個刪除方法到我的用戶控制器,刪除用戶的所有上傳圖像。我使用文件名和路徑列存儲文件,以便將它們分開。如何將路徑和文件名c作爲aolumns數組輸出?

id path  filename mime  uploader_id 
1 gallery imagA.jpg image/jpg 1 
2 gallery imagB.jpg image/jpg 1 
3 gallery imagV.jpg image/jpg 2 

現在我想用File::delete($images);並立即刪除該用戶的所有文件,但我需要在路徑和文件名連接在一起一個陣列。做這個的最好方式是什麼?

+0

DB ::表( '圖片') - >選擇(DB ::原始( 'CONCAT(路徑, 「/」,文件名')作爲文件) - >獲取() – SpX

+0

可能改變「 - > get()「to - > pluck('file') - > all(); :) – SpX

回答

1

像這樣的事情?

public function delete(int $uploaderId) 
{ 
    $images = DB::table('images')->where('uploader_id', $uploaderId)->get(); 

    foreach ($images as $i) { 
     File::delete($i->path.'/'.$i->filename); 
    } 

    return // api response or redirect back; 
} 
相關問題