将字符串动态传递给 laravel4 中的视图
Posted
技术标签:
【中文标题】将字符串动态传递给 laravel4 中的视图【英文标题】:Passing a string dynamically to a view in laravel4 【发布时间】:2014-03-02 03:57:39 【问题描述】:我是 laravel 新手,我正在尝试从控制器将字符串传递给视图。据我了解,应该是这样的:
return Redirect::route('home')->with('global','Hi!');
我正在尝试将用户重定向到“家”,但有字符串“嗨!”出现在一切之前。 'home' 是渲染视图 'home.blade.php' 的路由。
事实上,用户被重定向,没有错误,但字符串“Hi!”不会出现在“主页”视图中。我想我需要在 'home' 刀片模板上添加一些东西来告诉 laravel 将字符串“Hi!”放在哪里,但那应该是什么?
【问题讨论】:
【参考方案1】:如果不了解更多关于您的代码的信息,很难确切说明该做什么,但您应该知道Redirect::route()->with()
与View::make()->with()
不同。 View::make()->with('var', 'value')
将一个名为var
的变量传递给视图,而Redirect::route()->with('var', 'value')
设置一个会话闪存变量。
为了访问 home.blade.php 中的“全局”,您需要在会话中找到它:
Session::get('global')
顺便说一句,要获得一个实际的“全局”视图变量,您需要View::share('var', 'value')
,但这不适用于重定向,仅适用于当前请求。
【讨论】:
【参考方案2】:我想你要找的是
Session::flash('global', 'Hi!');
“flash()”方法将数据放入会话中,但只针对一个请求。之后它被删除,在这种情况下,这似乎是你想要的。在文档中查看更多信息! http://laravel.com/docs/session#flash-data
一旦您将该数据刷新到会话中,您就可以像您已经在做的那样return Redirect::view('home')
,并在主页视图上使用 Session::get('global')
,就像 alexrussell 建议的那样。
【讨论】:
非常感谢,只需将 session::get('global') 放在模板上就可以了,但我会更多地研究这个 flash 方法。 是的,这肯定也行!我想我只是更喜欢使用flash()
,因为它使会话保持整洁。以上是关于将字符串动态传递给 laravel4 中的视图的主要内容,如果未能解决你的问题,请参考以下文章
如何将字符串数组动态传递给Java中的SQL“IN”子句? [复制]