gpt4 book ai didi

laravel - 所有 Controller 和 View 的全局变量

转载 作者:行者123 更新时间:2023-12-03 05:55:22 35 4
gpt4 key购买 nike

在 Laravel 中,我有一个表设置,并且我已从 BaseController 中的表中获取完整数据,如下所示

public function __construct() 
{
// Fetch the Site Settings object
$site_settings = Setting::all();
View::share('site_settings', $site_settings);
}

现在我想访问$site_settings。在所有其他 Controller 和 View 中,这样我就不需要一次又一次地编写相同的代码,所以任何人请告诉我解决方案或任何其他方式,以便我可以从表中获取数据一次并在所有 Controller 中使用它查看。

最佳答案

好吧,我将完全忽略其他答案中普遍存在的荒谬的过度工程和假设,并选择简单的选项。

如果您同意在每个请求期间有一个数据库调用,那么该方法很简单,令人担忧的是:

class BaseController extends \Controller
{

protected $site_settings;

public function __construct()
{
// Fetch the Site Settings object
$this->site_settings = Setting::all();
View::share('site_settings', $this->site_settings);
}

}

现在假设所有 Controller 都扩展此 BaseController,他们只需执行 $this->site_settings 即可。

如果您希望限制多个请求之间的查询量,您可以使用前面提供的缓存解决方案,但根据您的问题,简单的答案是类属性。

关于laravel - 所有 Controller 和 View 的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25189427/

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