小编sun*_*mad的帖子

如何删除缓存控制头无缓存

我和我的团队正在研究 Laravel API,它与 Vue.js 前端通信,前端使用 Apollo 客户端来使用 GraphQL 响应。

我们遇到了将缓存控制标头添加到响应中的问题。

Apollo 无法缓存内容,因为响应包含以下标头:

Cache-Control: no-cache, private
Run Code Online (Sandbox Code Playgroud)

在 php.ini 中,我们可以禁用 PHP 发送缓存控制标头:

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter =
Run Code Online (Sandbox Code Playgroud)

在 nginx 配置中,我们找不到任何设置这些标头的内容。我检查了我们在站点/可用中设置的全局 nginx.conf 和配置文件。

我可以将其添加到 nginx 配置中,但它只会添加另一个标头:

add_header Cache-Control "public";

Cache-Control: no-cache, private
Cache-Control: public
Run Code Online (Sandbox Code Playgroud)

如果此标头不是来自 PHP 或 nginx,那么它可能来自哪里?我该如何删除或覆盖它?

  • Laravel 5.5
  • Folkloreatelier/laravel-graphql
  • PHP 7.1
  • nginx 1.14.0
  • Ubuntu 16.04

php nginx laravel apollo graphql

3
推荐指数
2
解决办法
4502
查看次数

Laravel雄辩的查询与相关表的总和

我有一个表的用户帖子的列USER_IDpost_views。在post_views中,我保留了显示多少次帖子的信息。

现在,在查询中,我想让用户获得所有帖子的post_views之和。

我试图做这样的事情:

User::where(['id'=>$id])->with('posts')->get();
Run Code Online (Sandbox Code Playgroud)

在模型中,我定义了:

public function posts()
    {
        return $this->hasMany('App\Models\Post')->sum('post_views','AS','totalViews');
    }
Run Code Online (Sandbox Code Playgroud)

但是没有成功。

怎么做?

谢谢

laravel eloquent

2
推荐指数
1
解决办法
1114
查看次数

标签 统计

laravel ×2

apollo ×1

eloquent ×1

graphql ×1

nginx ×1

php ×1