ابراهيم الخليل سماني نشر 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 اقتباس
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 اقتباس
السؤال
ابراهيم الخليل سماني
السلام عليكم
لم أستطلع التعديل على قيمة pivot بعد تنفيد الشيرة التالية من المفترض تكون قيمتي pivot معدلة :
العلاقة :
لكنني أجد ان قيمة bought فقط من تعدلت كما توضح الصورة
وشكرا لكم
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.