删除购物车中的下一个$项目(laravel crinsane)

时间:2017-03-07 20:44:42

标签: php laravel cart

我需要能够从购物车中删除一个$ item以删除上一个或下一个项目,所以:

Cart::remove()

要删除购物车的商品,您将再次需要rowId。这个rowId你只需传递给remove()方法,它将从购物车中删除该项目。

$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';

Cart::remove($rowId);

这是来自文档。

如何删除包含$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';的项目以及包含未知rowID的下一项?

1 个答案:

答案 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();

这可以帮助您了解如何使用表格来获取上一个和下一个项目。