在 Laravel 中全局缓存表值

2024-01-08

我有一张表:模型的设置Setting

class Setting extends Model
{
    protected $fillable = [
        'name', 'value',
    ];
}

我创建了一个服务提供SettingsServiceProvider并注册于app.php

class SettingsServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Factory $cache, Setting $settings)
    {
        if (\Schema::hasTable('settings')) {
            config()->set('settings', Setting::pluck('value', 'name')->all());
        }
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {

    }
}

添加后name and value到餐桌上settings,我在视图中这样称呼它:

{{ config('settings.sitename') }}

Where sitename is the name完美返回值的字段。

Problem:此方法的问题在于每个页面请求都会进行数据库调用。由于这些设置并不意味着经常更改,所以我正在寻找一种将其缓存在 laravel 缓存中的方法。

我尝试了以下方法:

class SettingsServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Factory $cache, Setting $settings)
    {
        $settings = $cache->remember('settings', 60, function() use ($settings)
        {
        return $settings->pluck('name', 'value')->all();
        });
        config()->set('settings', $settings);

        /* if (\Schema::hasTable('settings')) {
            config()->set('settings', Setting::pluck('value', 'name')->all());
        } */
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

但是当我尝试将其返回到这样的视图时:

{{ config('settings.sitename') }}

没有任何回报。


我没有足够的声誉来评论该帖子,但这应该可以解决问题

Replace:

return $settings->pluck('name', 'value')->all();

With:

return $settings->pluck('value', 'name')->all();

然后像往常一样:

php artisan config:clear
php artisan cache:clear
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Laravel 中全局缓存表值 的相关文章

  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 计算两个数字之间的差异

    我想计算两个给定数字之间的差异 例如 1 5 或 24 35 我必须将数组中的数字分开并写出它们之间的差异 如下所示 1 2 3 4 5 或 24 25 26 27 28 29 30 31 32 33 34 35 是否有任何 php 函数可
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • PHP 警告 ZipArchive::extractTo():权限被拒绝

    我创建了一个应用程序 它使用 ZipArchive 类 php 中的标准 中的方法 extractTo 并在 Windows 7 上的本地主机 apache 服务器上对其进行了测试 没有任何问题 但是当我在一些unix生产服务器上尝试过它之
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 将秒转换为天、小时、分钟和秒

    我想转换一个变量 uptime这是秒 分为天 小时 分钟和秒 Example uptime 1640467 结果应该是 18 days 23 hours 41 minutes 这可以通过以下方式实现DateTime http php net
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • 如何获取我的应用程序的“可用”处理器数量?

    我知道如何获取计算机上的物理处理器数量和逻辑处理器数量 但我想知道我的应用程序可以访问多少个逻辑处理器 例如 我在四核机器上进行开发 但我有许多单核用户 并且在许多情况下我 简化 了界面 或者遇到了多核系统从未遇到过的锁定问题 因此 为此
  • flutter 中 UniqueKey 的范围是什么?

    我是一个独特的人 我的意思是我与其他人不同在这世上 当我在flutter中创建UniqueKey时 什么是world它与其他的有何不同 A UniqueKey其唯一性与每个实例化对象都是一个单独的对象完全相同 并没有什么神奇之处实施Uniq
  • 在模拟器 Swift 上运行自定义键盘时出错

    我正在尝试制作自定义键盘 对于简单的自定义键盘 它运行良好 但是在单击表情符号时 它显示以下错误 viewServiceDidTerminateWithError 错误域 UIViewServiceInterfaceErrorDomain
  • Google PubSub Python 多个订阅者客户端接收重复消息

    我有一个非常简单的应用程序 可以启动 PubSub 订阅者 StreamingPull 客户端 我已将其部署在 Kubernetes 上 以便可以扩展 当我部署一个 Pod 时 一切都会按预期进行 当我扩展到 2 个容器时 我开始收到重复的
  • 棒棒糖主题问题

    我在我的项目中使用 sherlock 操作栏 我使用了 Theme Sherlock Light DarkActionBar
  • 努力让 Boost 库单元测试框架正常工作

    我已经使用 VS2013 成功构建了 Boost 库 我还成功地包含并使用了一些 Boost Filesystem 和 Boost Log 的东西 但是 我正在努力让以下单元测试在 Visual Studio 2013 中运行 define
  • Project Loom:使用虚拟线程时,是什么让性能更好?

    为了提供一些背景信息 我关注 Loom 项目已经有一段时间了 我读过了Loom 的状态 http cr openjdk java net 7Erpressler loom loom sol1 part1 html why 我做过异步编程 异
  • 什么是主要类型?

    OCaml 编译器有一个 principal 选项 邮件列表中有时会提到术语 principal type 它到底是什么意思 维基百科中的定义是递归的 因为它假设读者已经熟悉这个概念 类型推断的过程就是猜测给定用户编写的程序 该程序的类型是
  • 将两个 ArrayList 添加到一个哈希图 ArrayList

    我有两个ArrayList我想做一个ArrayList通过添加它们 两个列表具有相同的大小 我打算这样做 这是优化的还是当列表变大时我可以让它变得更好 更高效 i e private ArrayList
  • Material UI:样式闪烁然后消失

    在此 SSR 应用程序的以下代码中 样式可能会出现 50 毫秒并消失 我很好奇是什么原因造成的 This component is a child of index tsx in the pages folder
  • GitHub - 如何从一个分支创建两个拉取请求

    我已经分叉了一个开源存储库 在我的分叉上编写了数千行代码 并在原始项目上创建了拉取请求 与此同时 我修复了另一个与我的第一个拉取请求完全无关的错误 我想专门针对此错误创建第二个拉取请求 它不包含第一个拉取请求中的任何工作 不需要我再次分叉存
  • 在Java中模拟鼠标在非活动窗口的某个位置单击?

    不管怎样 我正在构建一个在后台运行的机器人 这个机器人需要我点击 当然 我希望能够在机器人运行时做其他事情 所以我想知道是否可以在非活动窗口的某个位置模拟鼠标单击 如果可能的话 如果你们中有人能帮助我 我将不胜感激 java awt Rob
  • 在 Xamarin 中创建自定义控件

    我正在将我的应用程序从 Windows Phone 8 移植到 Android 并且我需要创建一些自定义 UI 控件 我尝试创建一个 XML 布局 在其中创建一个 LinearLayout 作为控件 然后动态添加它 根据用户的意愿 但这不起
  • 如何使用 PHP 实现工厂类 - 依赖注入

    以下面的代码作为我想要的示例 class SomethingController extends Factory private somethingRepository public function Construct ISomethin
  • 如何使用现有的 pom.xml 将 3rd 方文件发布到远程 Maven 存储库?

    我有一些第三方 jar 想要上传到我的 Nexus maven 存储库 到目前为止我已经找到了两种方法来做到这一点 使用 Nexus GUI 使用以下说明 http maven apache org guides mini guide 3r
  • 这是什么时间格式?如何将其转换为标准化的 dd/mm/yyyy 日期?

    我正在使用 YouTube Google API 对于特定视频的上传日期 将返回以下格式的时间 日期 2012 05 16T17 15 29 000Z 我不确定这是什么格式 但我想知道是否有一种简单的方法 例如使用DateTime 将其转换
  • 使用 folium 中的地理数据框绘制彩色多边形

    我正在尝试在 folium 中绘制雷达数据 而且我已经快完成了 我按照这个例子 在边界内绘制等高线图数据 纬度 经度 值 并导出 GeoJSON https stackoverflow com questions 34886899 cont
  • 在 Android 上解析 ~1 MB JSON 非常慢

    我的资产文件夹中存储了一个大约 1MB 的 JSON 文件 每次运行时我都需要在应用程序中加载该文件 我发现内置的 JSON 解析器 org json 解析文件的速度非常慢 但是一旦解析完成 我就可以非常快速地访问和操作数据 我计算出从我点
  • glib2 是否真的会使用 ALWAYS-MALLOC 泄漏内存?

    这个问题是not许多其他人的重复 因为我do use G DEBUG gc friendly and G SLICE always malloc这是源代码 include
  • 在 Laravel 中全局缓存表值

    我有一张表 模型的设置Setting class Setting extends Model protected fillable name value 我创建了一个服务提供SettingsServiceProvider并注册于app ph