Laravel, настраиваемый URL-адрес, маршрут и контроллер

Вот что попробовать. Мне нужно сгенерировать URL-адрес на основе уникального кода, хранящегося в базе данных (код продукта - пример: sd25eds1rtr2). URL-адрес выглядит так:

website/product/sd25eds1rtr2/

Я получаю код продукта с кодом $ product->. В web.php я пытаюсь создать route, который вызывает controller, который дает view.

Route::get('/product', 'HomeController@productcode')

Я не знаю, как правильно создать URL-адрес и контроллер. Я много чего пробовал, но все еще не получаю ожидаемую страницу.

Есть подсказка?

Думаю, прежде чем задавать вопрос, вам следует прочитать документацию по фреймворку (Laravel) laravel.com/docs/5.6/routing#route-parameters

Froxz 04.04.2018 15:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
2 278
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Я не уверен, почему вы хотите сделать что-то подобное и просто не используете подстановочный знак? Route::get('/product/{code}', 'HomeController@somefunction');

Теперь вы можете поймать код в функции вашего контроллера.

public function somefunction($code)
{
    $product = Product::where('code', $code)->first();
}

Чтобы передать параметр в контроллер, вам нужно добавить переменную в маршрут

Route::get('/product/{productCode}', 'HomeController@productcode');

и в вашем контроллере вы можете получить к нему доступ, выполнив

 public function productcode($productCode)
{
 // Do something here
}

Подробнее об этом можно прочитать в документации. https://laravel.com/docs/5.4/routing#route-parameters

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

Route::get('/product/{productCode}', 'HomeController@productcode');

Вы можете получить доступ к 'productCode' в контроллере, например:

public function productcode($productCode)
{
    /* your method */
}

Касса документация laravel для параметров маршрута

Route

 Route::match(['get','post'],'/yoururl/{key}', 'controllername@functionname');

controller

public function yourfunctionname($key){ }

Это самый простой способ получить доступ к вашему значению ключа

Другие вопросы по теме