如何在laravel中的路由中使用变量?
How to use variables in routes in laravel?
我正在尝试在 laravel 5.3
中构建一个应用程序,在其中我从请求方法中获取变量,然后尝试将该变量传递到路由的重定向中。我想在我的视图中使用这个变量,这样我就可以显示变量的值。我目前正在这样做:
在我的控制器中,我收到这样的请求:
public function register(Request $request)
{
$data = request->only('xyz','abc');
// Do some coding
.
.
$member['xyz'] = $data['xyz'];
$member['abc'] = $data['abc'];
return redirect('member/memberinfo')->with('member' => $member);
}
现在我的路线如下:
Route::get('/member/memberinfo', 'MemberController@memberinfo')->with('member', $member);
现在 MemberController
我想使用 $member
变量并将其显示到我的视图中:
public function memberinfo()
{
return view('member.memberinfo', ['member' => $member]);
}
但是我在路由文件中遇到错误
Call to undefined method Illuminate\Routing\Route::with()
帮帮我,我怎样才能做到这一点。
你可以这样使用:
路线:
Route::get('/member/memberinfo', 'MemberController@memberinfo')
和重定向:
return redirect('member/memberinfo')->with('member', $member);
当您使用 redirect()->with()
时,您正在将数据保存到会话中。因此,要从控制器中的会话中获取数据甚至查看,您可以使用 session()
helper:
$member = session('member'); // In controller.
{{ session('member')['xyz'] }} // In view.
或者,您可以将变量作为字符串参数传递。
重定向:
return redirect('member/memberinfo/xyz/abc')
路线:
Route::get('/member/memberinfo/{xyz}/{abc}', 'MemberController@memberinfo');
控制器:
public function memberinfo($xyz, $abc)
{
return view('member.memberinfo', compact('xyz', 'abc'));
}
您需要将 =>
替换为 ,
public function register(Request $request)
{
$data = request->only('xyz','abc');
// Do some coding
.
.
$member['xyz'] = $data['xyz'];
$member['abc'] = $data['abc'];
return redirect('member/memberinfo')->with('member', $member); // => needs to be replaced with ,
}
希望这有效!
替换行
return redirect('member/memberinfo')->with('member' => $member);
至
return redirect('member/memberinfo')->with('member', $member);
......
我正在尝试在 laravel 5.3
中构建一个应用程序,在其中我从请求方法中获取变量,然后尝试将该变量传递到路由的重定向中。我想在我的视图中使用这个变量,这样我就可以显示变量的值。我目前正在这样做:
在我的控制器中,我收到这样的请求:
public function register(Request $request)
{
$data = request->only('xyz','abc');
// Do some coding
.
.
$member['xyz'] = $data['xyz'];
$member['abc'] = $data['abc'];
return redirect('member/memberinfo')->with('member' => $member);
}
现在我的路线如下:
Route::get('/member/memberinfo', 'MemberController@memberinfo')->with('member', $member);
现在 MemberController
我想使用 $member
变量并将其显示到我的视图中:
public function memberinfo()
{
return view('member.memberinfo', ['member' => $member]);
}
但是我在路由文件中遇到错误
Call to undefined method Illuminate\Routing\Route::with()
帮帮我,我怎样才能做到这一点。
你可以这样使用:
路线:
Route::get('/member/memberinfo', 'MemberController@memberinfo')
和重定向:
return redirect('member/memberinfo')->with('member', $member);
当您使用 redirect()->with()
时,您正在将数据保存到会话中。因此,要从控制器中的会话中获取数据甚至查看,您可以使用 session()
helper:
$member = session('member'); // In controller.
{{ session('member')['xyz'] }} // In view.
或者,您可以将变量作为字符串参数传递。
重定向:
return redirect('member/memberinfo/xyz/abc')
路线:
Route::get('/member/memberinfo/{xyz}/{abc}', 'MemberController@memberinfo');
控制器:
public function memberinfo($xyz, $abc)
{
return view('member.memberinfo', compact('xyz', 'abc'));
}
您需要将 =>
替换为 ,
public function register(Request $request)
{
$data = request->only('xyz','abc');
// Do some coding
.
.
$member['xyz'] = $data['xyz'];
$member['abc'] = $data['abc'];
return redirect('member/memberinfo')->with('member', $member); // => needs to be replaced with ,
}
希望这有效!
替换行
return redirect('member/memberinfo')->with('member' => $member);
至
return redirect('member/memberinfo')->with('member', $member);
......