带有商店功能控制器的laravel路线

时间:2017-02-16 13:40:36

标签: laravel

我创建了一个资源路径,如:

Route::resource('club.user' , 'UserClubController');

从俱乐部创建用户。当我想显示刀片视图'创建'但是当我想存储用户时,我得到一个错误,如:

Missing required parameters for [Route: club.user.store] [URI: club/{club}/user]. (View: /Applications/XAMPP/xamppfiles/htdocs/adminlte/resources/views/users/createUserClub.blade.php)

这是我的刀片视图,为俱乐部创建新用户:

  {!! Form::open(array('route' => 'club.user.store' , 'method' => 'POST')) !!}

这里我的函数是从UserClubController创建的

public function create($club)
    {

        $club = Club::findOrFail($club);
        $role = Role::pluck('title' , 'id') ;
        return view('users/createUserClub' , compact('role' , 'club'));

    }

这里是我的商店控制器:

 public function store(Request $request){
        $user = new User;
        $user->name = $request->input('name');
        $user->email = $request->input('email');
        $user->password = bcrypt($request->input('password'));

        $type_structure = TypeStructure::where('id' , '=' , '4')->first();
        $user->type_structure_id = $type_structure->id;
        dd($user);
        $user->save();
有人有想法解决这个问题吗?非常感谢提前:)

1 个答案:

答案 0 :(得分:2)

这基本上就是错误告诉你的内容。您正在使用Route :: resource和嵌套模型(club - >有很多用户)

如果您现在想要使用

Route::resource('club.user' , 'UserClubController');

这意味着每次访问用户都是通过特定的俱乐部进行的。因此,您将拥有以下路线

/club/{club}/user | GET, POST
/club/{club}/user/{user} | GET, PUT / PATCH, DELETE

您需要在刀片视图中提供此俱乐部参数

{!! Form::open(array('route' => ['club.user.store', $club->id] , 'method' => 'POST')) !!}