如何在Laravel的路由中使用变量? [英] How to use variables in routes in laravel?

查看:510
本文介绍了如何在Laravel的路由中使用变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在laravel 5.3中构建一个应用程序,在该应用程序中我从请求方法获取变量,然后尝试将该变量以重定向方式传递给路由.我想在我的视图中使用此变量,以便能够显示变量的值.我目前正在这样做:

I'm trying to build a application in laravel 5.3 in which I get the variable from request method and then trying to pass that variable in a redirect to the routes. I want to use this variable in my view so that I can be able to display the value of variable. I'm currently doing this:

在我的控制器中,我收到这样的请求:

In my controller I'm getting the request like this:

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);
}

现在,我已经按照路线行驶了:

Now I've following in my routes:

Route::get('/member/memberinfo', 'MemberController@memberinfo')->with('member', $member);

现在在MemberController中,我想使用$member变量并将其显示在我的视图中:

Now in MemberController I want to use $member variable and display this into my view:

public function memberinfo()
{
  return view('member.memberinfo', ['member' => $member]);
}

但是我在路由文件中出现了错误

But I'm getting an error in the routes files

调用未定义的方法Illuminate \ Routing \ Route :: with()

Call to undefined method Illuminate\Routing\Route::with()

帮帮我,我如何实现这一目标.

Help me out, how can I achieve this.

推荐答案

使用redirect()->with()时,会将数据保存到会话中.因此,要从控制器或什至视图中的会话中获取数据,可以使用session()帮助器:

When you're using redirect()->with(), you're saving data to the session. So to get data from the session in controller or even view you can use session() helper:

$member = session('member'); // In controller.

{{ session('member')['xyz'] }} // In view.

或者,您可以将变量作为字符串参数传递.

Alternatively, you could pass variables as string parameters.

重定向:

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'));
}

这篇关于如何在Laravel的路由中使用变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆