Вы удаляли изображения в базе данных, не делая снимки. Я сделал pictures
перед выполнением действия удаления.
Photo::where('post_id',$id)->delete();
$obj = Post::with(['pictures'])->find($id);
Я поменял местами порядок этих строк
$obj = Post::with(['pictures'])->find($id);
Photo::where('post_id',$id)->delete();
Ваш окончательный код должен выглядеть следующим образом
public function deletePermanently(){
$id = Input::get('id');
$obj = Post::with(['pictures'])->find($id);
Photo::where('post_id',$id)->delete();
$filePath = public_path().'/upload/';
if(count($obj->pictures) > 0){
foreach($obj->pictures as $photo){
if(file_exists($filePath.$photo->name)){
unlink($filePath.$photo->name);
}
}
}
}