laravel从控制器数组中获取值

时间:2016-11-21 04:16:37

标签: php arrays laravel laravel-5 laravel-5.3

这是我的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"}

1 个答案:

答案 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'];