在 Laravel 4 中,如何创建模型实例并使其全局可用?即使在视图中。我正在寻找类似于使用 Auth::User->name 获取用户实例的方式(我的意思是语法,不存储在会话中)但在这种情况下它将是 ModelName::DefaultEntity->attribute .
再详细一点...
我正在编写一个可以容纳多个网站的应用程序——有点像 CMS。所以我有一个网站模型。每个网站模型都有一个 URL 属性,因此当用户访问 URL 时,应用程序可以从数据库中检索网站模型并适当地标记网站,例如标题、徽标、主题等...
我希望当前的网站模型在任何地方都可用,而不必在每个控制器/方法中创建一个新的网站实例。因此,在我的布局和视图中,我可以这样说:
{{ Website::Website()->name }}
或者
{{ CurrentWebsite::name }}
我通过在网站模型中创建静态方法实现了第一个:
public static function current()
{
return Website::find(1); // just to test it for now
}
但是这样一来,每次我说时它都必须进行数据库查询:
{{ Website::current()->name }}
再加上感觉不太对劲。
任何人都可以帮忙吗?
亲切的问候,
罗宾