ابراهيم الخليل سماني نشر 3 مايو 2022 أرسل تقرير مشاركة نشر 3 مايو 2022 السلام عليكم لم أستطلع التعديل على قيمة pivot بعد تنفيد الشيرة التالية من المفترض تكون قيمتي pivot معدلة : try { $result = $payment->execute($execution, $apiContext); $user = User::find($request->userId); $servicesCart = $user->servicesInCart; $sevicesTreat = $user->servicesProccess; foreach($servicesCart as $service) { $user->servicesInCart()->updateExistingPivot($service->id, ['bought' => TRUE]); $service->save(); } $sevicesTreat = $user->servicesProccess; foreach($sevicesTreat as $service) { $user->servicesProccess()->updateExistingPivot($service->id , ['state' => 1]); $service->save(); } } catch (Exception $ex) { echo $ex; } العلاقة : public function servicesInCart(){ return $this->belongsToMany(Service::class)->withPivot('number_of_copies' , 'bought')->wherePivot('bought' , FALSE); } public function servicesProccess(){ return $this->belongsToMany(Service::class)->withPivot('state', 'id')->wherePivotIn('state' , [1,2,3]); } لكنني أجد ان قيمة bought فقط من تعدلت كما توضح الصورة وشكرا لكم 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Hassan Hedr نشر 3 مايو 2022 أرسل تقرير مشاركة نشر 3 مايو 2022 لاحظ أن العلاقة servicesProccess محصورة فقط بالسجلات ذات الحقل state بالقيم 1 أو 2 أو 3، فعملية التحديث التالية تتم بشكل صحيح لكن لا يوجد سجلات مطابقة لشرط تلك العلاقة لديك لذا أنت لا تلاحظ التحديث $user->servicesProccess()->updateExistingPivot($service->id , ['state' => 1]); ^^^^^^^^^^^^^^^^ بحسب متطلبات مشروعك إما أن تضيف الحالة 0 إلى قائمة الحالات للعلاقة السابقة كالتالي: public function servicesProccess(){ return $this->belongsToMany(Service::class)->withPivot('state', 'id')->wherePivotIn('state' , [0,1,2,3]); } ^ أو تقوم بتحديث state ضمن قاعدة البيانات يدويًا في حال كانت الحالة 0 خاطئة إلى أحد الحالات المسموحة (1 أو 2 أو 3)، أو تعدل عملية إدخال تلك السجلات حتى لا يتكرر الخطأ مستقبلًا 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
ابراهيم الخليل سماني
السلام عليكم
لم أستطلع التعديل على قيمة pivot بعد تنفيد الشيرة التالية من المفترض تكون قيمتي pivot معدلة :
العلاقة :
لكنني أجد ان قيمة bought فقط من تعدلت كما توضح الصورة
وشكرا لكم
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.