2016-06-30 463 views
1

我有圖像的文章,當我更新文章我想檢查圖像是否相同,如果不是我想刪除它們,但如果可能我想刪除整個集合沒有另一個查詢,就像我在$images->delete();下面的代碼中所具有的一樣。 這是我的功能:Laravel - 刪除整個集合

$images = Media::where('article_id', $article->id)->get(); 

    foreach($images as $image) { 
     $article_images[] = $image->original_name; 
    } 

    foreach($files as $file) { 
     $filePathArr = explode('/', $file); 
     $fileName = array_pop($filePathArr); 
     $originalFile = explode('-', $fileName); 
     $originalFileName = array_pop($originalFile); 
     $newFiles[] = $originalFileName; 
    } 

    if ($newFiles != $article_images){ 
     $images->delete(); 
    } 

回答

3

你只是不能從數據庫中刪除沒有查詢。

你將不得不作出新的要求是這樣的:

Media::where('article_id', $article->id)->delete(); 

這只是一個簡單的查詢,所以不應該有任何性能損失。

+0

是的,這就是我想的,謝謝你爲我確認! – Marco