Html
<form th:action="@{/deleteCartItem(id=${produkt.product.id})}" th:object="${produkty}" method="post">
<div class="text-right">
<input type="submit" value="Delete" class="btn-sm btn-danger" />
</div>
</form>
Контроллер корзины
@GetMapping("/kosik")
public String kosik(Principal principal,Model model){
User user = userServices.findByEmail(principal.getName());
Cart cart = cartServices.findCartByUser(user);
model.addAttribute("produkty",cartItemServices.findAllCartItems(cart));
model.addAttribute("cart",cartServices.findCartByUser(user));
model.addAttribute("user",user);
return "cart";
}
Метод удаления
@PostMapping("/deleteCartItem")
public String deleteCartItem(@ModelAttribute CartItem cartItem){
cartItemServices.deleteCartItem(cartItem.getCartItemId());
return "redirect:/kosik";
}
Сервис
public void deleteCartItem(Integer id){
cartItemRepository.deleteById(id);
}
Элемент CartItem
@Entity
public class CartItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer cartItemId;
@NotNull
@Max(11)
private int quantity;
private double price;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "product_id")
private Product product;
@ManyToOne
@JoinColumn(name = "cart_id")
private Cart cart;
Получение идентификатора cartitem работает, но я не могу удалить cartItem .. Я также попытался удалить его не по id, а мгновенно удалить cartItem ..