2015-11-12 3 views
3

У меня есть приложение, в котором вы можете выбирать между несколькими клиентами. Выбор клиента будет генерировать следующий URL:
Laravel 5: создать URL с настраиваемыми параметрами

http://localhost:8000/customer/CUSTOMER_NAME 

С этого момента, я хотел бы выбрать конкретный суб-страницу (например, на странице поддержки)

Как следующую ссылку:

http://localhost:8000/customer/CUSTOMER_NAME/support 

до сих пор я всегда теряю параметр CUSTOMER_NAME, и я не знаю, как сохранить его.

Каркас я использую Laravel 5.

Любые идеи?

+0

, если у вас есть код, пожалуйста, включите его в качестве кода в этом вопросе, а не в виде изображения. – Domysee

+1

голосовать за описательный вопрос –

ответ

2

Вы должны сделать это путем передачи URL-адрес параметров к просмотру по

Я считаю, что у вас есть что-то подобное в вашем маршруте

Route::get('customer/{id}', '[email protected]');

Затем в контроллере, вы можете иметь

public function yourFunctionName($id) 
{ 
    return view('yourViewName')->with('id', $id); 
} 

Тогда из ваш взгляд может просто сделать это, чтобы создать url как это

<a href="customer/{id}/support">Click here</a> 

Чтобы иметь URL, как ниже

http://yourprojectname/customer/18/support

Советы: Используйте первичный ключ или любое уникальное поле, а не использовать имя, чтобы избежать некоторых будущих проблем.

Также вы должны использовать помощник для создания URL,

+0

Thanks Sulthan Allaudeen! (И для ответа, и для совета) [email protected]: В следующий раз я запишу ваше замечание кода как изображение. –

+0

Добро пожаловать. –

+1

@ThomasVercamer голосовать. –

2

Вы используете named routes?

Route::get('customer/{name}', ['as' => 'customer.index', 'uses' => '[email protected]']); 

Вы можете создать новый маршрут, как это:

Route::get('customer/{name}/support', ['as' => 'customer.support', 'uses' => '[email protected]']); 

с методом для опорной секции

public function support($name) { 
    return view('customer.support', [ 
     'name' => $name, 
    ]); 
} 

И в макете можно ссылку на маршрут.

<a href="{{ route('customer.support', $name) }}">Support</a> 
+0

Привет, Джеймс, спасибо за вход! Я довольно новичок в Laravel, так что теперь я буду придерживаться ответа Султана. Тем не менее, я буду изучать те названные маршруты, они выглядят интересными! –

+1

Голосовать за четкий ответ и добро пожаловать в stackoverflow –

+1

Выполнено и спасибо! –

0
{{ route('pages.home', $array_of_custom_params) }} 

Это будет генерировать ссылку:

Смежные вопросы