سلام
وقتی از متد زیر در مدل article استفاده می کنم نمایش تک پست با اسلاگ کار میکنه ولی دیگه با ای دی نمیشه پست رو نمایش داد. چطوری میشه هم با اسلاگ بتونیم پست رو نمایش بدیم و هم لینک کوتاه با آی دی داشته باشیم؟
public function getRouteKeyName()
{
return 'slug';
}
سوالت خیلی واضع نیست اگر منظورت داده های یک id هست از getRouteKeyName استفاده نکن بیا دو route تعریف کن یکی با ایدی بر گردون یکی رو با slug که باید از route model binding استفاده کنی
سرچ کن!
اگر آیدی رو گرفتی بین مقالات سرچ کن مقاله ای که با فلان آیدی هست
اگر اسلاگ رو گرفتی بین مقالات سرچ کن مقاله ای که با فلان اسلاگ هست رو واست بیاره
ببینید اینکه دوتا روت تعریف بشه و به محض اتصال به اون روت ها یکی با اسلاگ کار کنه و یکی دیگه با ای دی رو متوجهم.
من اومدم از متد getRouteKeyName داخل مدل استفاده کردم که وقتی با اسلاگ جستجو میشه مقاله رو برگردونه. ولی بعد از اینکه این متد اضافه شد حتی با تعریف یک روت مجزای دیگه هم نمی تونم با ای دی مقالات رو دریافت کنم.
دوست عزیز کلا بی خیال getRouteKeyName و route model binding بشید
توی کنترلر آیدی یا اسلاگ هر کدوم رو که میخواین ساده بگیرید بعد با whereسرچ کنید توی articleها
پاک کردن صورت مساله رو بلد بودم. میخواستم بدونم نکته اش چیه و چه راه حلی واسه اون مساله وجود داره @alirezasafdari
سلام این که کاری نداره
کافیه از تابع resolveRouteBinding توی مدل تون استفاده کنید. بعد اون جا از where برای id و orWhere برای slug استفاده کنید.
این تابع رو توی لاراول جستجو کنید توضیحات کامل ترش میاد.
سلام. در لاراول 7 یه قابلیتی به route model binding اضافه شده که می تونید از slug در کنار id استفاده کنید.
بهتره برای درک بیشتر به دوره آشنایی با امکانات جدبد لاراول 7 => جلسه 7 مراجعه کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟