【问题标题】:Laravel and Lighthouse, it always read the dafault schemaLaravel 和 Lighthouse,它总是读取默认模式
【发布时间】:2019-12-26 04:08:42
【问题描述】:

我正在关注 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 的游乐场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

【问题讨论】:

    标签: php laravel graphql laravel-lighthouse


    【解决方案1】:

    我认为问题与缓存有关。我尝试将 LIGHTHOUSE_CACHE_ENABLE=false 添加到 laravel .env 文件并重新启动服务器,然后刷新游乐场页面。我重新检查了架构并进行了更新。

    希望对你有用。

    【讨论】:

    • 并非所有英雄都穿着斗篷。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2020-01-13
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多