我在web.php
Laravel 应用程序中定义了这个资源,
Route::resource('Student', 'StudentCtrl');
我有一个包含元文件名称的变量,
$metaFile = 'student_meta.json';
我想传递$metaFile
给StudentCtrl
,所以我可以在那里捕获文件名。
我正在使用 Laravel 5.4。
谢谢。
我在web.php
Laravel 应用程序中定义了这个资源,
Route::resource('Student', 'StudentCtrl');
我有一个包含元文件名称的变量,
$metaFile = 'student_meta.json';
我想传递$metaFile
给StudentCtrl
,所以我可以在那里捕获文件名。
我正在使用 Laravel 5.4。
谢谢。
只需将变量传递给 url,就是这样。
如果它的get
请求将被路由到StudentCtrl@show
如果它的put
请求将被路由到StudentCtrl@update
如果它的delete
请求将被路由到StudentCtrl@destroy
等等。
您所要做的就是定义表单的方法。GET
, POST
, PUT/PATCH
, DELETE
.
看看这里。
将单个变量从路由器传递到控制器仅适用于单个 HTTP 请求方法。
参考这里: https ://stackoverflow.com/a/50405137/9809983
对于完整的资源路由,可以向该资源下的所有视图发送一个固定值,如果这是您想要做的
在控制器中
public function __construct(Request $request)
{
$action_array = $request->route()->getAction();
$json_file['json_file'] = "student_meta.json";
$new_action_array = array_merge($action_array, $json_file);
$request->route()->setAction($new_action_array);
}
现在您可以访问资源控制器下所有视图中的值,例如,
在视图中
{{ request()->route()->getAction('json_file') }}
在 Laravel 5.6 中测试并完美运行