Вот что попробовать. Мне нужно сгенерировать URL-адрес на основе уникального кода, хранящегося в базе данных (код продукта - пример: sd25eds1rtr2). URL-адрес выглядит так:
website/product/sd25eds1rtr2/
Я получаю код продукта с кодом $ product->.
В web.php я пытаюсь создать route, который вызывает controller, который дает view.
Route::get('/product', 'HomeController@productcode')
Я не знаю, как правильно создать URL-адрес и контроллер. Я много чего пробовал, но все еще не получаю ожидаемую страницу.
Есть подсказка?






Я не уверен, почему вы хотите сделать что-то подобное и просто не используете подстановочный знак?
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 */
}
Route
Route::match(['get','post'],'/yoururl/{key}', 'controllername@functionname');
controller
public function yourfunctionname($key){ }
Это самый простой способ получить доступ к вашему значению ключа
Думаю, прежде чем задавать вопрос, вам следует прочитать документацию по фреймворку (Laravel) laravel.com/docs/5.6/routing#route-parameters