这是我的PermissionController.php
foreach (Route::getRoutes() as $route)
{
$action = $route->getAction();
if (array_key_exists('controller', $action))
{
$controllers[] = $action['controller'];
}
}
return view('permission.create')->withControllers($controllers);
我的permission/create/php
是这样的:
{!! Form::select('class_name[]', $controllers, null, ['class' => 'form-control', 'multiple']) !!}
在控制器中,它将所有控制器的名称放在$controller
中并将其发送到blade
但是当我选择其中一些时,请求会给我他们的键而不是值
public function store(Request $request)
{
return $request->get('class_name');
}
如果我选择第一个和第三个输出,例如:{"1","3"}
但我希望他们的价值如下:{"UserController.php", "TestController.php"}
答案 0 :(得分:0)
使用此代码而不是Forms ::使用Laravel内置列表功能选择或创建自定义列表:
<select name="class_name[]" multiple>
@foreach($controllers as $class)
<option value="{{$class}}" >{{$class}}</option>
@endforeach
</select>
或只是替换
$controllers[] = $action['controller'];
带
$controllers[$action['controller']] = $action['controller'];