قمت أولا بالتغيير على برنامج معمول مسبقا وخصصته بحسب متطلباتي بحيث أنني
أردت جعل أحد الحقول و الذي هو عبارة عن المنتج غير محدود بعدد معيين بعبارة أخرى اردت جعل كمية المنتج تتناسب مع كمية الطلب مهما طلب المستخدم يكون متوفر , وبالتالي قمت بجعله في ملف التهجير NULLABLE و قمت كذلك بإعادة تعيينه في قاعدة البيانات كلما طُلب المنتج أي كلما دخل المتج الى عربة التسّوق وكان الكود النتاتج عن ذلك كالتالي : أضفت السطرين الذان علقت بجانبهما
إلى الآن كل شيء بخير فمثلا عندما أضيف 50 نسخة من منتج إلى السلة و أتوجه إلى قاعدة البيانات لارى أجد انه بالفعل تم إضافة 50 نسخة منه لقاعدة البيانات للمنتج المعيين
وقمت أيضا بجعل القيمة في قاعدة البيانات تتناقص في حالة لو قام بالضغط على "ازل واحد " قمت بالتالي الذي اشرت له في الكود بالتعليق :
المشكلة التي واجهتها هي عند ازالة كل المنتج من السلة لا يتم إزالته من قاعدة البيانات ويبقى العدد موجود وبالتالي تخرب حسابات البرنامج الكود الذي لم ينجح معي كالتالي :
السؤال
ابراهيم الخليل سماني
السلام عليكم
قمت أولا بالتغيير على برنامج معمول مسبقا وخصصته بحسب متطلباتي بحيث أنني
أردت جعل أحد الحقول و الذي هو عبارة عن المنتج غير محدود بعدد معيين بعبارة أخرى اردت جعل كمية المنتج تتناسب مع كمية الطلب مهما طلب المستخدم يكون متوفر , وبالتالي قمت بجعله في ملف التهجير NULLABLE و قمت كذلك بإعادة تعيينه في قاعدة البيانات كلما طُلب المنتج أي كلما دخل المتج الى عربة التسّوق وكان الكود النتاتج عن ذلك كالتالي : أضفت السطرين الذان علقت بجانبهما
public function addToCart(Request $request) { $book = Book::find($request->id); $book->number_of_copies += $request->services ; //أضفت هذا $book->save(); //وهــــذا if(auth()->user()->servicesInCart->contains($book)) { $newQuantity = $request->services + auth()->user()->servicesInCart()->where('book_id', $book->id)->first()->pivot->number_of_copies; auth()->user()->servicesInCart()->updateExistingPivot($book->id, ['number_of_copies'=> $newQuantity]); } else { auth()->user()->servicesInCart()->attach($request->id, ['number_of_copies'=> $request->services]); } return redirect()->back(); }
إلى الآن كل شيء بخير فمثلا عندما أضيف 50 نسخة من منتج إلى السلة و أتوجه إلى قاعدة البيانات لارى أجد انه بالفعل تم إضافة 50 نسخة منه لقاعدة البيانات للمنتج المعيين
وقمت أيضا بجعل القيمة في قاعدة البيانات تتناقص في حالة لو قام بالضغط على "ازل واحد " قمت بالتالي الذي اشرت له في الكود بالتعليق :
المشكلة التي واجهتها هي عند ازالة كل المنتج من السلة لا يتم إزالته من قاعدة البيانات ويبقى العدد موجود وبالتالي تخرب حسابات البرنامج الكود الذي لم ينجح معي كالتالي :
أرجوا منكم توجيهي لحل المشكل و إخباري إن كانت الطريقة معمول بها أم لا وهل يوجد أحسن منها او طريقة مشابهة لها اقتبس منها
شكرا لكم
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.