从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有关,但是,我不确定。
答案 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或将其完全删除。