gpt4 book ai didi

Laravel:将变量传递给多个 View

转载 作者:行者123 更新时间:2023-12-05 00:53:30 25 4
gpt4 key购买 nike

我想以动态方式制作菜单,因此显示“本月电影”而不是“十二月电影”(见图);是 12 月,每月更新自己的当月

我的问题是菜单不属于特定的路由/ Controller ,因此我不能像其他路由一样传递变量。例子:

    $month = Carbon::now()->format('F');
return view('partials._nav')
->withMonth($month);

我可以“解决”将月份传递给所有 Controller /路由的问题,但我多次重复相同的代码。

我的问题是

1- Laravel 中是否有任何方法可以将变量传递给某种根状态(如在 Angular 中),因此,我在应用程序的所有路由中都保持该变量可用?

2- 有什么方法可以将变量返回到多个 View ?所以我只是将变量传递给所有可能的 View ,例如:
return view('films.all', 'films.show', 'films.index', 'actors.show', 'actors.index')
->withMonth($month);

任何想法将不胜感激

The navigation is outside the scope of views
更新

The menu is outside the views scope

最后我有了解决方案:
public function boot()
{
View::composer('*', function ($view) {
$month = Carbon::now()->format('F');

$view->withMonth($month);
});
}

最佳答案

您可以使用 share() 将数据共享到多个 View 的方法。将以下代码放入您的 boot() App/Providers/AppServiceProvider的方法:

public function boot()
{
view()->share('key', 'value');
}

Docs

关于Laravel:将变量传递给多个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41221195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com