علیرضا مه آبادی
3 سال پیش توسط علیرضا مه آبادی مطرح شد
1 پاسخ

نحوه نمایش روت با slug نه id در پنل کاربری شخص از طریق نوتیفیکیشن

درود فراوان بنده از طریق نوتیفیکیشنی که ایجاد کردم می خوام کاربر وقتی در پنل شخصی در سایت روی اون لینک زد وارد اون صفحه که به جای id از slug استفاده کردم بره اما وقتی روی لینک زده میشه url اون صفحه به صورت id هست درصورتی که من در اون صفحه مورد نظر از اسلاگ استفاده کردم.
من رو به این صفحه می بره

http://localhost:8000/threads/3

در صورتی که می خوام url به این صورت باشه: پرسش-جدید/localhost:8000/threads
این متد show کنترلر مربوطه (threasd)

  public function show($slug)
    {
        $thread = Thread::whereSlug($slug)->with(['channels', 'user'])->whereFlag(1)->first();
        return view('answer-question.thread.single-thread', compact('thread'));
    }

و اینم متد toDatabase داخل نوتیفیکیشن

  public function toDatabase($notifiable)
    {
        return [
            'thread_title'=>$this->thread->title,
           'route'=>route('threads.show',[$this->thread]),
        ];
    }

با سپاس از شما🙏


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 3 سال پیش مطرح شد
0

با سلام.
شما تقریبا تمامی مراحل درست رفتین. اینجایی که دارید url میسازید خود ابجکت رو به پارامتر دوم پاس دادید که اگر اشتباه نکنم لاراول اتوماتیک Primary key اون ابجکت رو برمیگردونه که همون آیدی میشه.

  public function toDatabase($notifiable)
    {
        return [
            'thread_title'=>$this->thread->title,
           'route'=>route('threads.show',[$this->thread->slug]),
        ];
    }

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام