Laravel 通过路由传递用户信息

Laravel 通过路由传递用户信息,laravel,authentication,blade,middleware,Laravel,Authentication,Blade,Middleware,我有一个刀片文件有用户信息 {{$user -> name}} {{$user -> age}} {{$user -> gender}} 此外,我还有一个表单可以添加此用户的权限 {!! Form::open(['method' => 'post'])!!} <div> <label > <input type="checkbox" value="1"> Setting </label> <label > &l

我有一个刀片文件有用户信息

{{$user -> name}}
{{$user -> age}}
{{$user -> gender}}
此外,我还有一个表单可以添加此用户的权限

{!! Form::open(['method' => 'post'])!!}
<div>
<label >
<input type="checkbox" value="1"> Setting
</label>
<label >
<input type="checkbox "value="1"> Users
</label>
<label>
<input type="checkbox"  value="1"> Images
</label>
</div>
<br>
{!! Form::submit('Save')!!}
{!! Form::close()!!}
单击此函数以保存它

   public function save_roles(Request $request,$id)
{
    $role = new Role;
    $role -> user_id =  $user -> name;
    if($request ->has('setting')){$role ->setting = 1;}
    if($request ->has('users')){$role ->users = 1;}
    if($request ->has('images')){$role ->images = 1;}
    $role -> save();
    return redirct('users');
}

但不起作用

您在这里做错了什么,可能是:

 public function save_roles(Request $request,$id)
{
    $role = new Role;
    $role->user_id =  $request->name;
    if($request->has('setting')){$role->setting = 1;}
    if($request->has('users')){$role->users = 1;}
    if($request->has('images')){$role->images = 1;}
    $role->save();
    return redirct('users');
}

我想你的路线应该是

Route::post('roles/{$userId}','control@save_roles');
还有你的控制器功能

public function save_roles(Request $request, $userId)
{
    $role = new Role;
    $role->user_id =  $userId;
.
.
.
}

好的,您有几个问题需要解决

首先,让我们确定您的路线:

Route::post('roles/{username}','control@save_roles');
然后,您的表单需要一个操作将信息发布到:

{!! Form::open(['method' => 'post','action'=>['control@save_roles',$user->name]])!!}
<div>
<label >
<input type="checkbox" value="1"> Setting
</label>
<label >
<input type="checkbox "value="1"> Users
</label>
<label>
<input type="checkbox"  value="1"> Images
</label>
</div>
<br>
{!! Form::submit('Save')!!}
{!! Form::close()!!}

“不工作”的确切含义是什么?我认为当通过路由$userId从刀片服务器向控制器发送用户_id时,这是一个问题
{!! Form::open(['method' => 'post','action'=>['control@save_roles',$user->name]])!!}
<div>
<label >
<input type="checkbox" value="1"> Setting
</label>
<label >
<input type="checkbox "value="1"> Users
</label>
<label>
<input type="checkbox"  value="1"> Images
</label>
</div>
<br>
{!! Form::submit('Save')!!}
{!! Form::close()!!}
public function save_roles(Request $request,$username)
{
    $role = new Role;
    $role -> user_id =  $username;
    if($request ->has('setting')){$role ->setting = 1;}
    if($request ->has('users')){$role ->users = 1;}
    if($request ->has('images')){$role ->images = 1;}
    $role -> save();
    return redirect('users');
}