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

السؤال

نشر

قمت بعمل إستمارة Form لإضافة أحد المنتجات في متجر مبني بإستخدام لارافيل Laravel، وفي هذه الإستمارة يجب إختيار  تصنيف المنتج Category من بين مجموعة من التصنيفات المخزنة في جدول categories في قاعدة البيانات.

كيف يمكنني أن أتحقق أن category_id المرسل ضمن الإستمارة موجود بالفعل في جدول categories؟ هل توجد طريقة للتحقق من وجود مفتاح foreign Key في جدول مختلف وعمل validation عليه في لارافيل Laravel؟

حاليًا أقوم بالتحقق من أنه موجود ضمن الطلب request وأنه عبارة عن رقم:
 

$validator = Validator::make($request->all(), [
    // ...
    'category_id' => 'required|integer',
]);

هل توجد طريقة أفضل من الكود السابق؟

Recommended Posts

  • 0
نشر

نعم, يمكنك فعل ذلك باستخدام Exists Rule ومن ثم تحديد اسم الجدول المرتبط بالحقل وتحديد العمود الذي تود استخدام قيمه, على فرض ان اسم الجدول هو categories فيكون شكل الكود كالتالي

'category_id' => 'required|exists:categories,id',

 

  • 1
نشر

نعم توجد طريقة فى لارافيل تستخدم للتاكد من وجود القيمة في قاعدة البيانات .

$validator = Validator::make($request->all(), [
    // ...
    'category_id' => 'exists:categories,id',
]);

بعد كتابة exists: نقوم بتمرير اسم الجدول و إن كان العمود له اسم مختلف عن اسم العنصر المرسل نمرر بعدها اسم العمود

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...