我需要能够从购物车中删除一个$ item以删除上一个或下一个项目,所以:
Cart::remove()
要删除购物车的商品,您将再次需要rowId。这个rowId你只需传递给remove()
方法,它将从购物车中删除该项目。
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
Cart::remove($rowId);
这是来自文档。
如何删除包含$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
的项目以及包含未知rowID的下一项?
答案 0 :(得分:1)
由于您的主键看起来不是自动递增,因此您唯一知道下一个/上一个项目的是created_at
或您在数据库中称为创建时间的任何内容。
在删除任何时间之前,首先获取下一个,因为一旦删除,您将无法访问该项目,因此您不会接下来的内容。不确定您是否使用了包,但执行Cart::remove($rowid)
意味着您可以通过某种方式了解$rowid
。如果你能做点什么
$itemToDelete = Cartitem::where('row_id',$rowId)->first();//get the item to be deleted
//Next item
$next = Cartitem::where('created_at', '>', $itemToDelete->created_at)
->orderBy('created_at')
->first();
//Previous item
$previous = Cartitem::where('created_at', '<', $itemToDelete->created_at)
->orderBy('created_at', 'desc')
->first();
这可以帮助您了解如何使用表格来获取上一个和下一个项目。