php - 有没有办法在 Blade 中缓存变量?

标签 php laravel vue.js laravel-blade

我使用 compact 从我的 Controller 将变量传递到我的 View 函数,在我看来这是可以访问的。然而,每次我访问这个变量时,Laravel 都会对数据库进行越来越多的调用。

return view('dashboard.overview', compact('aircraft', 'current_location', 'current_flight'));

然后在我的 Blade 中,我调用这样的 Vue 组件:<badge--aircraft--financed :data-aircraft="{{ $aircraft }}"></badge--aircraft--financed> ,这会产生 10 个查询。如果我复制这一行,Debugbar显示我进行了 20 个查询,其中 10 个是重复的。 Blade 是否不缓存 $aircraft默认变量?

最佳答案

Laravel 仅缓存 Blade 模板,而不缓存变量。 您可以在 Controller 中缓存变量 https://laravel.com/docs/6.x/cache#cache-usage

此外,为了防止大量查询,您可以在获取 $aircraft 模型时调用 with() 方法。 https://laravel.com/docs/6.x/eloquent-relationships#eager-loading

关于php - 有没有办法在 Blade 中缓存变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58972673/

相关文章:

php - 登录系统sqlserver连接错误

php - 如何使用 codeigniter 框架从主键数组中获取查询

javascript - 如何在 Laravel 中限制与管理相关的 AngularJs Controller ?

javascript vuejs 对象数组在循环中仅返回一项

php - 无需刷新的 Ajax 发布

php - 使用 PHP 从 postgres 数据库中检索图像

mysql - Laravel 过滤多个WhereIn 数组

windows下使用sqlsrv数据库时Laravel迁移找不到驱动

javascript - Vue react 数据显示为观察者而不是实际值

javascript - Vue.js 组件不显示组件方法中的数据