dougu3988
2016-11-21 04:16
采纳率: 100%
浏览 75
已采纳

laravel从控制器数组中获取值

this is my 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);

and my permission/create/php is like this :

{!! Form::select('class_name[]', $controllers, null, ['class' => 'form-control', 'multiple']) !!}

here in controller, it put the name of all controllers in $controller and send it to the blade but when i select some of them, the request gives me their keys instead of value

public function store(Request $request)
{
    return $request->get('class_name');
}

if I select the first one and third one the output is for example :{"1","3"} but I want their value like this : {"UserController.php", "TestController.php"}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dua55014 2016-11-21 08:46
    已采纳

    use this code instead Forms::Select or create your custom List with Laravel built-in List Function :

    <select name="class_name[]" multiple>
    @foreach($controllers as $class)
        <option value="{{$class}}" >{{$class}}</option>
    @endforeach
    </select>
    

    or simply replace the

     $controllers[] = $action['controller'];
    

    with

    $controllers[$action['controller']] = $action['controller'];
    
    打赏 评论

相关推荐 更多相似问题