شرح صفوف ومحتوى الفقرة
في المسارات المتداخلة مثل /users/{user}/posts/{post}، يقيد Laravel النموذج الثاني تلقائياً عند استخدام عمود مخصص، أو عبر إلحاق دالة scopeBindings بالمسار لضمان ملكية المستخدم الأب لذلك المقال تحديداً. كما يمكنك تخصيص سلوك التطبيق عند غياب السجل عبر دالة missing لتحويل الزائر بدلاً من صفحة 404.
- حماية التبعية (scopeBindings): تتحقق برمجياً من أن السجل الابن في الرابط يتبع فعلياً للسجل الأب المذكور قبله.
- شمل المحذوفات ناعماً (Route withTrashed): ألحق withTrashed بالمسار للسماح بجلب السجلات المؤرشفة في مسارات لوحة الإدارة.
- معالجة السجل المفقود (missing Fallback): توجه الزائر إلى صفحة بديلة بلطف عند طلب سجل لم يعد موجوداً.
PHP
Route::get('/users/{user}/posts/{post}', function (User $user,
return view('posts.show', compact('user', 'post'));
})->scopeBindings()
->missing(fn () => to_route('posts.index'));