أعمالي ابنِ مشروع SaaS المقالات
لارافيل

استخدام Route Model Binding لكتابة Controllers أنظف

December 09, 2025 1 دقيقة قراءة 92 مشاهدة

بدلاً من جلب النماذج يدوياً داخل الـ controller، يمكن لـ Laravel القيام بذلك تلقائياً:

قبل (استعلام يدوي)

public function show($id)
{
 $post = Post::findOrFail($id);
 return view('posts.show', compact('post'));
}

بعد (Route Model Binding)

public function show(Post $post)
{
 return view('posts.show', compact('post')); 
}

يقوم Laravel تلقائياً بالعثور على الـ Post بواسطة الـ ID ويعيد 404 إذا لم يتم العثور عليه. يمكنك أيضاً استخدام مفاتيح مخصّصة:

// داخل الموديل 
public function getRouteKeyName()
{ 
return 'slug'; 
}

الآن المسار /posts/my-post-slug سيتم ربطه تلقائياً باستخدام عمود slug.

شارك هذه المقالة:

مقالات ذات صلة

التعليقات (0)

يرجى تسجيل الدخول لترك تعليق. تسجيل الدخول

لا توجد تعليقات بعد. كن أول من يعلق!