uni-app 支付宝小程序云联表查询报错 Cannot read properties of null (reading 'lastCmd')
uni-app 支付宝小程序云联表查询报错 Cannot read properties of null (reading ‘lastCmd’)
示例代码:
const db = uniCloud.databaseForJQL()
const order = db.collection('order').getTemp() // 注意结尾的方法是getTemp,对order表过滤得到临时表
const res = db.collection(order,'book').get().then(res=>{
console.log(res);
})
操作步骤:
const db = uniCloud.databaseForJQL()
const order = db.collection('order').getTemp() // 注意结尾的方法是getTemp,对order表过滤得到临时表
const res = db.collection(order,'book').get().then(res=>{
console.log(res);
})
预期结果:
不报错
实际结果:
{
"code": "SYSTEM_ERROR",
"errCode": "SYSTEM_ERROR",
"message": "Cannot read properties of null (reading 'lastCmd')",
"errMsg": "Cannot read properties of null (reading 'lastCmd')",
"systemInfo": []
}
bug描述:
参考文档:https://doc.dcloud.net.cn/uniCloud/jql.html#lookup
编写联表查询

相关链接 :
更多关于uni-app 支付宝小程序云联表查询报错 Cannot read properties of null (reading 'lastCmd')的实战教程也可以访问 https://www.itying.com/category-93-b0.html
HBuilderX 4.0.2024012711-alpha 已修复。
更多关于uni-app 支付宝小程序云联表查询报错 Cannot read properties of null (reading 'lastCmd')的实战教程也可以访问 https://www.itying.com/category-93-b0.html
重新上传云函数试下呢?
和云函数无关,是前端这边直接JQL调取数据库信息,只要使用了联表操作,就会报这个bug,使用unicloud-db组件,涉及到联表查询,也有这个问题
回复 q***@qq.com: 问题我修复了,你随便上传一个schema触发一下clientDB更新再试下。
如果是本地调试需要等下个版本修复,云端的你触发下更新就好了
回复 DCloud_uniCloud_CRL: 可以了,非常感谢!!!!!!
同问,楼主解决了没?
我也出现了这个问题,只要是连接云端云函数,就有这个错误,本地云函数没有这个错误
这么大bug没人管么?
我确认下这个问题
在 uni-app 开发支付宝小程序时,使用云联表查询时遇到 Cannot read properties of null (reading 'lastCmd') 错误,通常是由于以下几个原因导致的:
1. 云函数返回值为空
云函数在执行查询操作时,可能没有返回预期的数据,导致返回值 null,进而导致在访问 lastCmd 属性时出错。
解决方法:
- 确保云函数正确执行并返回了有效的数据。
- 在访问
lastCmd属性之前,先检查返回值是否为null。
const result = await uniCloud.callFunction({
name: 'yourCloudFunctionName',
data: {
// your query data
}
});
if (result && result.result) {
const lastCmd = result.result.lastCmd;
// 继续处理
} else {
console.error('云函数返回值为空');
}
2. 云函数未正确配置或未部署
如果云函数未正确配置或未部署,调用时可能会返回 null。
解决方法:
- 检查云函数是否已正确部署。
- 确保云函数的名称和调用时的名称一致。
3. 云联表查询条件错误
如果查询条件不正确,可能会导致查询结果为空。
解决方法:
- 检查查询条件是否正确。
- 确保查询条件与数据库中的数据结构匹配。
4. 网络问题
网络问题可能导致云函数调用失败,返回 null。
解决方法:
- 检查网络连接是否正常。
- 尝试重新调用云函数。
5. 云函数内部错误
云函数内部可能存在错误,导致执行失败。
解决方法:
- 检查云函数的日志,查看是否有错误信息。
- 修复云函数中的错误。
6. uniCloud SDK 版本问题
如果使用的 uniCloud SDK 版本过旧或存在 bug,可能会导致此问题。
解决方法:
- 更新
uniCloudSDK 到最新版本。 - 检查是否有相关的 bug 修复。
7. 支付宝小程序环境问题
支付宝小程序环境可能存在兼容性问题。
解决方法:
- 确保支付宝小程序的基础库版本是最新的。
- 检查是否有相关的环境问题。
示例代码
以下是一个简单的示例代码,展示如何正确处理云函数返回值:
uniCloud.callFunction({
name: 'yourCloudFunctionName',
data: {
// your query data
}
}).then(res => {
if (res && res.result) {
const lastCmd = res.result.lastCmd;
// 继续处理
} else {
console.error('云函数返回值为空');
}
}).catch(err => {
console.error('云函数调用失败', err);
});

