استفاده از پارامترها در متد ()route لاراول

چاپ

هنگامی که route ما دارای پارامتر است ( مثلا {users/{id ) نیاز داریم تا این پارامترها را به هنگام استفاده از متد ()route، به منظور تولید یک لینک به route مورد نظر تعریف کنیم. برای پاس دادن این پارامترها، راه های مختلفی وجود دارد. فرض کنیم که route ما به صورت زیر تعریف شده باشد: 

users/{userId}/comments/{commentId}

به فرض اینکه userId برابر با 1 باشد و commentId برابر با 2 باشد، گزینه های زیر را پیش روی خواهیم داشت: 

 گزینه ی 1:

route('users.comments.show', [1, 2])
// http://myapp.com/users/1/comments/2

گزینه ی 2:

route('users.comments.show', ['userId' => 1, 'commentId' => 2])
// http://myapp.com/users/1/comments/2

گزینه ی 3:

route('users.comments.show', ['commentId' => 2, 'userId' => 1])
// http://myapp.com/users/1/comments/2

گزینه ی 4:

route('users.comments.show', ['userId' => 1, 'commentId' => 2, 'opt' => 'a'])
// http://myapp.com/users/1/comments/2?opt=a

 همان طور که مشاهده می کنید، در داخل آرایه های بالا، مقادیری که کلید(key) ندارند(یعنی فقط عددی هستند) به ترتیب نوشته شده اند. و مقادیری که دارای کلید هستند، با استفاده از کلیدهایشان با پارامترهای route تطابق می یابند. و هر چیز دیگری که باقی بماند، بعنوان یک پارامتر کوئری (پس از علامت سوال) در نظر گرفته خواهد شد.