انتقل إلى محتوى الدرس

Binding Models by Custom Slug ربط النموذج عبر عمود السلج

حقن نماذج Eloquent تلقائياً في المسارات بالمعرف أو السلج وتقسيم النتائج الكبيرة إلى صفحات عبر paginate وروابط links.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لبناء روابط صديقة لمحركات البحث، يمكنك جلب نموذج المسار عبر عمود آخر غير المعرف الرقمي مثل slug أو uuid مباشرة في تعريف المسار بالصيغة {post:slug}. وإذا أردت اعتماد هذا العمود افتراضياً في كافة مسارات النموذج وتوليد روابطه، فأعد تعريف دالة getRouteKeyName داخل كلاس النموذج.

  • التخصيص المباشر بالمسار ({post:slug}): حدد اسم العمود بعد النقطتين في الرابط للبحث عبره في ذلك المسار تحديداً.
  • التخصيص العام بالنموذج (getRouteKeyName): أعد اسم العمود من دالة getRouteKeyName داخل النموذج لاعتماده في كل المسارات.
  • توليد الروابط التلقائي (route Helper): تمرير كائن النموذج لدالة route يستخرج قيمة عمود السلج المخصص تلقائياً.
PHP
Route::get('/articles/{post:slug}', [PostController::class, 's

// Or inside App\Models\Post:
public function getRouteKeyName(): string
{
    return 'slug';
}