2016-06-30 122 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