Node.js 如何在异议模型中的$afterUpdate挂钩中获取整个更新条目?
我使用Objective.js作为一个简单的Rainsion应用程序的ORM。我需要能够在更新较低级别的表entires时动态地更新和输入一个表。为此,我需要更新的整个条目,以便使用该数据正确更新动态更新的条目Node.js 如何在异议模型中的$afterUpdate挂钩中获取整个更新条目?,node.js,postgresql,objection.js,Node.js,Postgresql,Objection.js,我使用Objective.js作为一个简单的Rainsion应用程序的ORM。我需要能够在更新较低级别的表entires时动态地更新和输入一个表。为此,我需要更新的整个条目,以便使用该数据正确更新动态更新的条目 我正在使用$afterUpdate钩子来创建较低级别的表条目。我遇到的问题是,当我在$afterUpdate钩子函数中记录此时,它只包含我要更新的条目部分的属性。我怎样才能得到完整的条目?我确信我可以通过对数据库运行额外的查询来获得记录,但我希望可以避免这种情况。如果您能提供任何帮助,我
我正在使用
$afterUpdate
钩子来创建较低级别的表条目。我遇到的问题是,当我在$afterUpdate
钩子函数中记录此
时,它只包含我要更新的条目部分的属性。我怎样才能得到完整的条目?我确信我可以通过对数据库运行额外的查询来获得记录,但我希望可以避免这种情况。如果您能提供任何帮助,我们将不胜感激。我想,从现在起,您只需通过额外的查询即可获得整个模型。
如果使用实例查询($query)执行更新,则可以从options.old
获取其他属性
查询:
const user = await User.query().findById(userId);
await user.$query()
.patch({ name: 'Tom Jane' })
钩子:
补丁 如果不需要在钩子中执行此操作,则可能需要使用与
first()链接的patch
函数。返回('*')
以在单个查询中获取整个模型,这比postgreSQL中的patchAndFetchById
更有效。如文件中所述
因为PostgreSQL(和其他一些)支持返回(“*”)链接,所以您实际上可以插入一行,或者更新/修补/删除现有行,并在单个查询中将受影响的行作为模型实例接收,从而提高效率。请参阅示例以了解更多信息
参考资料:
options.old
获取其他属性
查询:
const user = await User.query().findById(userId);
await user.$query()
.patch({ name: 'Tom Jane' })
钩子:
补丁 如果不需要在钩子中执行此操作,则可能需要使用与
first()链接的patch
函数。返回('*')
以在单个查询中获取整个模型,这比postgreSQL中的patchAndFetchById
更有效。如文件中所述
因为PostgreSQL(和其他一些)支持返回(“*”)链接,所以您实际上可以插入一行,或者更新/修补/删除现有行,并在单个查询中将受影响的行作为模型实例接收,从而提高效率。请参阅示例以了解更多信息
参考资料:
const jennifer = await Person
.query()
.patch({firstName: 'Jenn', lastName: 'Lawrence'})
.where('id', 1234)
.returning('*')
.first();