CraftCMS-CraftQL查询全局变量始终返回错误

时间:2019-02-11 16:58:21

标签: javascript php yii graphql craftcms

从GraphiQl接口,前端应用程序或Insomnia之类的API资源管理器查询全局变量时,CraftQL返回错误Trying to get property of non-object

我正在运行Craft 3.1.8和CraftQL 1.3.1。

query getGlobalTest {
  globals {
    ... on GlobalsSet {
      test {
        ... on Test {
          test
        }
      }
    }
  }
}

该错误发生在第215行的vendor/markhuot/craftql/src/Types/Query.php中。

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

查询全局变量时会发生这种情况。我在某处读到这与在Craft 3.1中将Craft更新为UUID有关,但是,我不确定。

1 个答案:

答案 0 :(得分:0)

该错误仅表示您的getSetById()查询未返回任何内容。您也不会将UUID传递给它。它期望一个整数。您确定$ siteId变量正确吗?如果要避免错误,可以将其添加到代码中:

override fun onImageAvailable(reader: ImageReader) {
    val image = imageReader?.acquireLatestImage() ?: return
    val planes = image.planes
    if (planes.size >= 3) {
        val y = planes[0].buffer
        val u = planes[1].buffer
        val v = planes[2].buffer
        val ly = y.remaining()
        val lu = u.remaining()
        val lv = v.remaining()

        val dataYUV = ByteArray(ly + lu + lv)
        y.get(dataYUV, 0, ly)
        u.get(dataYUV, ly, lu)
        v.get(dataYUV, ly + lu, lv)

        val metadata = FirebaseVisionImageMetadata.Builder()
            .setFormat(FirebaseVisionImageMetadata.IMAGE_FORMAT_YV12)
            .setWidth(width)
            .setHeight(height)
            .setRotation(rotation)
            .build()

        detector.detectInImage(FirebaseVisionImage.fromByteArray(dataYUV, metadata))
    }
    image.close()
}

但是我建议您看一下$ siteId或将其完全删除。