Laravel和Lighthouse,它总是读取dafault模式

Lui*_*nna 0 php laravel graphql laravel-lighthouse

我遵循Lighthouse网站上的主版本(4.1)教程。

https://lighthouse-php.com/4.1/getting-started/tutorial.html#installation

我重新安装了Laravel 5.8,然后执行了教程中编写的命令(在旁边npm install

composer require nuwave/lighthouse mll-lab/laravel-graphql-playground

php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider"

php artisan vendor:publish --provider="MLL\GraphQLPlayground\GraphQLPlaygroundServiceProvider"

之后,将/graphql/schema.graphql创建一个文件(在项目根目录下,而不是routes以前版本的文件夹下)。

现在,我用一些数据填充数据库,然后将模式从教程页面复制/粘贴到已发布的模式,启动服务器,然后访问显示正确的URL并将请求发送到的Playground http://127.0.0.1:8000/graphql

单击Schema选项卡,我总是看到默认模式,而不是发布的默认模式/graphql/schema.graphql,当然,对与用户不同的资源的查询失败,并显示诸如的错误Cannot query field "posts" on type "Query".。我已经尝试过重启服务器并刷新Playground页面。

config/lighthouse.php文件的架构已注册的路径base_path('graphql/schema.graphql')看起来正确的。

为什么Playground总是显示默认架构,而不显示已发布和编辑的架构?

我正在使用PHP 7.2.14,Lighthouse需要PHP> 7.1

小智 5

我认为问题与缓存有关。我试图添加LIGHTHOUSE_CACHE_ENABLE=false到laravel .env文件中,然后重新启动服务器,然后刷新Playground页面。我重新检查架构,它已更新。

我希望它有用。