在Laravel中重定向()时,语言环境不会改变

时间:2016-06-27 19:16:41

标签: php laravel-5

我试图在我的应用中创建一个切换语言按钮。

这是我的控制器:

class LanguageController extends Controller
{

public function update($locale){
    app()->setLocale($locale);
    return redirect()->back();

}

}

当我使用$ locale时,它具有新的$ locale值,但是当它重定向时,它会重置$ locale。

如果我将return redirect() - > back()更改为固定网址:返回视图(' auth.login')则可以。

所以,我不明白为什么会这样,任何想法???

1 个答案:

答案 0 :(得分:1)

setlocale仅适用于当前页面,不会保存到下一页。

您应该制作在每个页面上运行的中间件并在那里设置区域设置。

可以找到一个很好的例子来说明here