اذهب إلى المحتوى
  • 0

التوابع isClean wasChanged لاتعمل بشكل جيد في Laravel 7

السؤال

السلام عليكم

حاولت تنفيذ الكود التالي 

        if($category->isClean()){
            session()->flash('flash_message_same' ,  ' نفس البيانات القديمة , لم تغيير أي شيء');
          }elseif($category->wasChanged('name')){
            session()->flash('flash_message' ,  ' لقد تم تعديل التصنيف إلى  ' . $request->name .'بنجاح ');
          }elseif($category->wasChanged('description')){
            session()->flash('flash_message' ,  ' لقد تم تعديل وصف التصنيف إلى  "' . $request->description .'" بنجاح ');
          }else{
            session()->flash('flash_message_e' ,  ' لقد حصل خطأ غير متوقع');
          }

إلا أنه ينتقل مباشرة إلى else 

وجربت كل من isDirty , wasChaged , ارجوا توضيح الفرق بينهما إن أمكن

المهم ان الكود الخاص بي لم يمشي حتى عدلت عليه كالتالي ارجو توضيح وشكرا

 

        if(!$category->wasChanged('name') && !$category->wasChanged('description')){
            session()->flash('flash_message_same' ,  ' نفس البيانات القديمة , لم تغيير أي شيء');
          }elseif($category->wasChanged('name')){
            session()->flash('flash_message' ,  ' لقد تم تعديل التصنيف إلى  ' . $request->name .'بنجاح ');
          }elseif($category->wasChanged('description')){
            session()->flash('flash_message' ,  ' لقد تم تعديل وصف التصنيف إلى  "' . $request->description .'" بنجاح ');
          }else{
            session()->flash('flash_message_e' ,  ' لقد حصل خطأ غير متوقع');
          }

 

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

تقريبًا wasChanged و isDirty تعملان بنفس الطريقة حيث تحددان فيما إذا تم تعديل خاصية ما ضمن النموذج أم لم يعدل شيء الفرق كالتالي:

  • isDirty تعمل فقط قبل حفظ النموذج
  • wasChanged تعمل حتى بعد حفظ النموذج

حاول تعديل الشيفرة لديك إلى التالي بحسب الطريقة التي تريدها:

$category->save(); // حفظ قبل

if(!$category->wasChanged()){ 
  ...

أو كالتالي 

if(!$category->isDirty()){ 
  ...

$category->save(); // حفظ بعد

أو 

if($category->isClean()){ 
  ...

$category->save(); // حفظ بعد

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...