Вы ничего не создаете / не храните, поэтому новая подкатегория не может быть добавлена так, как вы это сделали. Кроме того, в вашем foreach
l oop вы обновляете $category
, который является родительской категорией.
Если у вас нет идентификаторов в запросе текущих подкатегорий, то на самом деле нет способа их обновить. «Самым простым» решением было бы сначала удалить все подкатегории, а затем создать новые из запроса.
Это может выглядеть примерно так:
$category->update($request->only('category'));
if($request->has('subcategory')){
Category::where('parent_id', $category->id)->delete();
foreach($request->subcategory as $sub){
Category::create([
'category'=>$sub,
'parent_id'=>$category->id,
]);
}
}
Лучший вариант в моем необходимо убедиться, что интерфейс имеет также идентификаторы подкатегорий, например, в атрибуте data
каждого входа. Затем вы можете использовать эти данные и отправить их в массиве со значением ввода, чтобы вы могли обновить существующие подкатегории, вместо того чтобы удалять все подкатегории и каждый раз создавать новые.