我知道show($id)
方法的路由名称是some_name/parameter
。在这里我有一个登录身份验证机制,并且如果用户通过了我有一个函数loginUser()
里面我的userController
。我想重定向用户user.show路由成功login.But我不知道如何传递参数值来显示方法。目前我得到的错误:如何将参数传递给另一个函数的资源控制器中的show()方法
Missing required parameters for [Route: user.show] [URI: user/{user}].
loginUser()函数:
012在UserController的public function loginUser(Request $request){
$data = $request->all();
$rules = array(
'name' => 'required',
'password'=>'required'
);
// Create a new validator instance.
$validator = Validator::make($data, $rules);
if($validator->fails()){
$errors=$validator->messages();
return redirect()->back()->withErrors($validator);
}else{
if(Auth::attempt(['name'=>$request['name'],'password'=>$request['password']])){
return redirect()->route('user.show')->with('name',$request['name']); // pass control to show() function
}else{
return redirect()->back()->with('data', 'wrong username or password');
}
}
}
show()方法:
public function show($user)
{
//
$info=userModel::where('id','=',$user)->get(array('name'));
return View::make('user.show')->with('name',$info);
}
非常感谢:) ..我不需要with子句了,我想呢? –
with子句用于消息传递,所以如果你不需要它,不!更多信息在这里:https://laravel.com/docs/5.1/responses#redirecting-with-flashed-session-data – martinczerwi