У меня есть цикл foreach, но мне нужно включить в него информацию, которая находится в другом массиве

Приведенный ниже код используется для удаления всех отмеченных категорий в флажке, однако у меня есть скрытое поле ввода для каждого флажка, которое содержит имя файла изображения, используемого в качестве эскиза, и поскольку я не хочу делать запросы для получения файла имя, я передаю его как скрытый ввод.

Так $request['categoryFiles'] содержит имя файла для каждого $request['categories']Однако я не уверен, как использовать этот массив в foreach так что я могу заполнить Storage::delete('public/uploads/categories/'.???); с правильным индексом $request['categoryFiles'] массив.

??? должны быть заменены чем-то вроде $request['categoryFiles'][0], $request['categoryFiles'][1]и т. д. до тех пор, пока foreach зацикливается

public function deleteCategories(Request $request){

if (!Auth::user()->hasRole('Admin')) {
return redirect()->back();
} else if (Auth::user()->hasRole('Admin')) {
$categories = $request['categories'];
$categoryFiles = $request['categoryFiles'];
foreach ($categories as $category) {
Storage::delete('public/uploads/categories/'.???);
Storage::delete('public/uploads/categories/thumbnails/'.???);
}
Category::whereIn('id', $categories)->delete();
return redirect()->back();
}

}

0

Решение

Вы можете использовать ключ из категорий, чтобы сопоставить с другим массивом …

foreach ($categories as $key => $category) {
Storage::delete('public/uploads/categories/'.$categoryFiles[$key]);
Storage::delete('public/uploads/categories/thumbnails/'.$categoryFiles[$key]);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector