درود وقت بخیر
من پست ها رو در لاراول به این صورت نمایش میدم با slug و بدرستی هم کار میکنه
mysite/posts/title-post
به چه صورت میتونم با وارد کردن id همون پست به صورت خودکار به مسیر slug پست برسم؟ خودکار منقل بشه
برای مثال آدرس کوتاه همین صفحه این هست https://roocket.ir/discuss/17073 ولی وقتی کلیک میشه میره تو مسیر slug
دقیقا این منظورمه. ممنون میشم راهنمایی کنید دوستان
با یک روت هم میشه انجام بشه و خیلی ساده میتونید اول چک کنید که مقداری که فرستاده میشه تو ای دی هست یا نه اگر نیست در slug سرچ کنید.
Post::where('id' , $keyword)->orWhere('slug' , $keyword)->firstOrFail();
@gomnam
سپاس از پاسخ شما
راستش من میخوام url هام رو با slug فارسی نشون بدم که تا این قسمت رو بدرستی انجام دادم اما دیدم وقتی لینک فارسی رو کاربر بخواد کپی کنه خیلی بد میشه میریزه بهم شکلش
گفتم با idهم بتونم دسترسی به پست داشته باشم این لینک رو برای کاربر بزارم که کپی کنه اما خودکار ریدایرکت بشه به همون ادرس slug دار
دقیقا مثل ادرس همین صفحه https://roocket.ir/discuss/۱۷۰۷۳ که وقی روش کلیک میشه میره تو مسیر slug دار
این قسمت ریدایرکت شدن رو نمی دونم به چه صورت باید هندل کنم
با یک روت هم میشه انجام بشه و خیلی ساده میتونید اول چک کنید که مقداری که فرستاده میشه تو ای دی هست یا نه اگر نیست در slug سرچ کنید.
Post::where('id' , $keyword)->orWhere('slug' , $keyword)->firstOrFail();
برای اینکه لینکتون کوتاه تر هم بشه یک روت دیگه درست کنید مثلا با نام p
اون بیاد آیدی رو دریافت کنه و اگر وجود نداشت که صفحه 404 برگردونه و اگر هم وجود داشت slug رو دریافت کنه و در نهایت هم :
redirect('/p/'.$slug)
متغییر slug هم که دریافت شده و حالا میره به اون آدرس ...
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟