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

السؤال

نشر

أقوم بحفظ سجل جديد في قاعدة البيانات باستخدام

Model->save();

هكذا

$user = new User;
$user->fields = $value;
$user->save(); // true or false

ولكن هذه الوظيفة تقوم بارجاع true عند نجاح العملية أو falseعند فشلها.

كيف يمكنني أن أحصل على معلومات الأخطاء التي حصلت عندما تكون المرتجعات false ؟

 

Recommended Posts

  • 0
نشر

للحصول على الأخطاء التي قد تحصل عند إضافة سجل جديد

نقوم بوضعها بداخل try & catch

حيث تقوم بالحصول على الأخطاء حين حدوثها

try{
	$user = new User;
	$user->fields = $value;
	$user->save(); // true or false
}catch(\Exception $e){
    echo $e->getMessage();   // للحصول على  معلومات الخطأ
}

ومن خلالها يمكننا معرفة المعلومات المتعلقة بالخطأ من خلال

echo $e->getMessage();

 

  • 0
نشر

يمكنك استخدام try and catch للتحكم في البرنامج سواء في حالة حدوث خطأ أو في حالة النجاح كالتالي

try{
	// يتم تنفيذ الكود هنا في حالة النجاح
}
catch{
	// يتم تنفيذ الكود هنا في حالة الفشل

}

وفي حالة المثال الخاص بك يمكن أن يكون الكود كالتالي

try{
  $user = new User;
  $user->fields = $value;
  $user->save();
}
catch(\Exception $e){
	echo $e->getMessage();   
}

 

  • 0
نشر

ملاحظة في استخدام الصنف Exception حيث يجب أن يُسبق ب \ لكي تتعرف لارافل عليه.

catch(\Exception $e){
	echo $e->getMessage();   
}

في حال عدم كتابتها سيتم البحث عن صنف باسم Exception وسيحدث خطأ.

يمكن تضمين Exception باستخدام 

use Exception;

لتفادي المشكلة.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...