php - 购物车在 laravel 中为所有用户显示相同的产品
问题描述
我的购物车为所有用户显示相同的产品。我正在使用内置身份验证的 laravel,并且我检查了使用会话的其他答案。但我想用 auth 来做。
购物车控制器.php
class CartController extends Controller
{
public function store(Request $request)
{
if (Auth::check()) {
$cart = Cart::where('user_id', Auth::id())
->where('product_id', $request->product_id)
->first();
if ($cart) {
$cart->increment('product_quantity');
$cart->save();
} else {
Cart::create([
'user_id' => Auth::id(),
'product_id' => $request->product_id
]);
}
session()->flash('success', 'Product has added to cart !!');
return back();
}
}
public function show()
{
if (Auth::check()) {
$cart= Cart::all();
return view('frontend.pages.cart')->with('carts', $cart);
} else {
session()->flash('status', 'No cart items added');
}
}
请帮助提供代码。
解决方案
- 首先,请确保 Auth::id() 返回正确的 ID。你也可以试试 Auth::user()->id。
- 检查购物车和产品之间的关系是否正确形成
- 我不确定您要列出所有购物车的目的。也许使用 Cart::all() 的 show 函数是一个错误?
推荐阅读
- python - 如何动态更改函数中的名称
- sql-server - 通过 XQuery 在嵌套元素中遍历/迭代
- javascript - 使用javascript根据数组的其他对象中的其他键值对验证重复键值对的对象数组
- r - as.POSIXct 在 r 数据表中给出模棱两可的错误
- python-3.x - 如果第 1 列(表 B)存在于第 2 列(表 A)中,则 Pandas 计算第 1 列(表 A)的唯一值
- python - 使用正则表达式在“\”之间提取字符串的感兴趣部分
- python - 对列表/数据框中的元素块进行快速操作
- javascript - 如何在不使用电子表格 ID 的情况下使用 Google 脚本从另一个 Google 表格导入数据
- mongodb - 是否有将 AWS lightail mongoDB 与 mongo Compass 连接的过程?
- c# - 我无法通过 c# 将数据插入 PostgreSql 表,使用函数