这是尝试做什么的。 我需要根据存储在数据库中的唯一代码生成一个URL(产品代码 - 例如:sd25eds1rtr2)。 URL如下所示:
website/product/sd25eds1rtr2/
我使用$ product->代码获取产品代码。
在web.php
我尝试创建route
来调用controller
来提供view
。
Route::get('/product', 'HomeController@productcode')
我不知道创建网址和控制器的正确方法是什么。我尝试了很多东西,但我仍然没有得到预期的页面。
任何提示?
答案 0 :(得分:1)
我不确定你为什么要做这样的事情而你只是不使用通配符?
Route::get('/product/{code}', 'HomeController@somefunction');
现在您可以捕获控制器功能中的代码
public function somefunction($code)
{
$product = Product::where('code', $code)->first();
}
答案 1 :(得分:0)
要将参数传递给控制器,您需要在路径中添加变量
Route::get('/product/{productCode}', 'HomeController@productcode');
在您的控制器中,您可以通过执行
来访问它 public function productcode($productCode)
{
// Do something here
}
在文档上可以阅读更多相关内容 https://laravel.com/docs/5.4/routing#route-parameters
答案 2 :(得分:0)
如果您需要在url中传递可变数据并在控制器中访问它,那么您可以
Route::get('/product/{productCode}', 'HomeController@productcode');
您可以访问" productCode'在控制器中:
public function productcode($productCode)
{
/* your method */
}
答案 3 :(得分:0)
路线
Route::match(['get','post'],'/yoururl/{key}', 'controllername@functionname');
控制器
public function yourfunctionname($key){ }
这是访问键值的最简单方法