30-08-1394، 01:26 ق.ظ
30-08-1394، 01:45 ب.ظ
ببینید تو route هایی که تعریف می کنیم برای تعریف پارامترها نام پارامتر رو داخل آکولاد قرار میدیم و بعد تو اکشن یا همون routes.php داخل closure به صورت متغیری به همون نام بهش دسترسی داریم مثال زیر رو نگاه کن :
حالا با روش model binding این دستور رو داخل کلاس RouteServiceProvider تو مسیر AppProviders این دستور را داخل متد boot می نویسید:
حالا اگه همون آدرس http://localhost:8000/user/1 رو درخواست کنید خودش میره از مدل رکوردی id اون برابر 1 هست رو بازیابی میکنه:
Route::get('user/{id}', function($id){ $user = AppUser::find($id); return $user->name; });وقتی کاربر آدرس http://localhost:8000/user/1 رو درخواست کنه مقدار 1 تو پارامتر id قرار می گیره و می تونیم با استفاده از اون اطلاعات موردنظرمون رو از مدل بدست بیاریم
حالا با روش model binding این دستور رو داخل کلاس RouteServiceProvider تو مسیر AppProviders این دستور را داخل متد boot می نویسید:
$router->model('id', 'AppUser');همینطور که می بینی اسم پارامتر رو به متد model میدیم و بعدش هم نام مدلمون رو با namespace اش بهش میدیم
حالا اگه همون آدرس http://localhost:8000/user/1 رو درخواست کنید خودش میره از مدل رکوردی id اون برابر 1 هست رو بازیابی میکنه:
Route::get('user/{id}', function(AppUser $user){ return $user->name; });فقط باید یک آبجکت از مدل رو بهش پاس بدیم و همینطور که می بینی کد خلاصه تر شده