mgsmus nuri60
Tekrardan selamlar, söylediklerinizi ve lunarphp'yi baz alarak bir sepet yapmaya çalışıyorum oturum açmış bir kullanıcı için şuan iyi çalışıyor gibi ama sepet birleştirme mantığını tam olarak anlayamadım, oturum açmamış bir kullanıcıya sepet oluşturuyorum fakat oturum açtığı zaman o sepetin ona ait olduğunu nasıl algılatacağımı bulamadım, sanırım bir mantık hatası yapıyorum yardımcı olabilir misiniz?
public function store(Request $request)
{
$purchasable_id = $request->input('purchasable_id');
$type = $request->input('purchasable_type');
$quantity = 1;
if ($type == 'Course') {
$purchasable_type = Course::class;
} else {
$purchasable_type = null;
}
if ($purchasable_type === null) {
return response()->json(['message' => 'Invalid purchasable type'], 422);
}
$purchasable = $purchasable_type::find($purchasable_id);
if (!$purchasable) {
return response()->json(['message' => 'Invalid purchasable'], 422);
}
$cart = Cart::firstOrCreate([
'user_id' => Auth::check() ? Auth::user()->id : null,
'merged_id' => null,
'currency_id' => 1,
'coupon_code' => null,
'meta' => Auth::check() ? Auth::user()->id : null,
]);
if (!Auth::check()) {
session(['cart' => $cart]);
}
if (!$cart) {
return response()->json(['message' => 'Unable to create cart, please try again later'], 422);
}
// Handle the cart item
if ($this->handleCartItem($cart, $purchasable, $quantity)) {
return response()->json(['message' => 'Item added to cart'], 200);
}
return response()->json(['message' => 'Unable to add item to cart, please try again later'], 422);
}