【发布时间】: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