文档首页/ Astro轻应用 AstroZero/ 常见问题/ 应用后端开发/ 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
更新时间:2024-07-18 GMT+08:00
分享

在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?

场景描述

在脚本中执行“db.sql().execute()”时使用了下图提供的方法,即动态使用数据对象。

图1 动态使用数据对象

例如:使用db.dynamicObject("User")就不用@useObject(['User'])了,而db.sql().execute("SELECT * FROM User")还是要用@useObject(['User']),否则会报错。

解决方法

dynamicObject方法的应用场景是在不明确是操作哪个对象表的情况下,例如以参数的形式,从外部赋值,而不是确定的表名。db.object是用于操作对象表确定的情况下,所以需要使用@useObject进行声明,请参考下图。

相关文档