首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CraftCMS - CraftQL查询全局变量总是返回错误

CraftCMS - CraftQL查询全局变量总是返回错误
EN

Stack Overflow用户
提问于 2019-02-12 00:58:21
回答 1查看 165关注 0票数 0

当从GraphiQl界面查询全局变量时,从我的前端应用程序,或者从像Insomnia这样的应用程序接口浏览器,CraftQL返回一个错误Trying to get property of non-object

我运行的是Craft 3.1.8和CraftQL 1.3.1。

代码语言:javascript
复制
query getGlobalTest {
  globals {
    ... on GlobalsSet {
      test {
        ... on Test {
          test
        }
      }
    }
  }
}

错误出现在第215行的vendor/markhuot/craftql/src/Types/Query.php中。

代码语言:javascript
复制
foreach ($setIds as $id) {
  $set = \Craft::$app->globals->getSetById($id, $siteId);
  $sets[$set->handle] = $set;  <-- Error line
}

在全局变量中查询任何内容时都会发生这种情况。我在某处读到,这与Craft 3.1中的Craft更新到UUID有关,然而,我不确定。

EN

回答 1

Stack Overflow用户

发布于 2019-02-12 04:27:00

这个错误只是意味着您的getSetById()查询没有返回任何内容。您也不会将UUID传递给它。它需要一个int。您确定您的$siteId变量正确吗?如果您想避免错误,可以将以下代码添加到您的代码中:

代码语言:javascript
复制
foreach ($setIds as $id) {
    if ($set = \Craft::$app->globals->getSetById($id, $siteId)) {
        $sets[$set->handle] = $set;
    }
}

但我建议看看$siteId,或者干脆把它去掉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54635491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档