我想将路径文件中的变量传递给指定的控制器。不使用参数,因为信息不在URL中。我无法找到使用以下代码传递它的方法。
Route::get('faqs', [
'as' => 'thing',
'uses' => 'Controller@method',
]);
我知道你也可以重定向到一个控制器,但错误说该方法不存在,搜索后我发现控制器必须被分配到一个路由,然后它仍然是相同的错误,但在不同的位置。
有什么想法吗?
答案 0 :(得分:0)
可以通过将自定义字段添加到attributes属性来创建自定义middleware,这是可以实现的一种方法。
所以你会这样做;
$request->attributes->add(['customVariable' => 'myValue']);
答案 1 :(得分:0)
您可以使用Route :: bind为特定slug分配值
Route::bind('parameter', function($parameter)
{
return SomeModel::where('name',$parameter)->first();
});
Route::get('faqs/{parameter}', [
'as' => 'thing',
'uses' => 'Controller@method',
]);
在您的控制器中将其设置为方法参数
public function method(SomeModel $model)
{
dd($model);
}