Javascript upsertGraph基于与';不同的列更新行;id';
我有一个带有Javascript upsertGraph基于与';不同的列更新行;id';,javascript,node.js,objection.js,Javascript,Node.js,Objection.js,我有一个带有id和supplier\u id列的产品表 当我从供应商处获取产品时,如何根据供应商id而不是id更新行 现在upsertGraph只使用insert,因为不存在id属性 编辑 我从几个不同的供应商那里获取产品列表,其中包含id,name,price 我使用id、name、price和supplier\u id在数据库中存储产品 因此,我试图根据供应商id制作upsertGraphupdate/insert,根据供应商id而不是id更新产品 这可能吗?以前没有尝试过,但我认为您可以使
id
和supplier\u id
列的产品表
当我从供应商处获取产品时,如何根据供应商id而不是id更新行
现在upsertGraph
只使用insert,因为不存在id
属性
编辑
我从几个不同的供应商那里获取产品列表,其中包含id
,name
,price
我使用id
、name
、price
和supplier\u id
在数据库中存储产品
因此,我试图根据供应商id制作upsertGraph
update/insert,根据供应商id而不是id更新产品
这可能吗?以前没有尝试过,但我认为您可以使用:
没有。 正如官方文件所述,使用
upsertGraph
是不可能实现您想要的
默认情况下,upsertGraph方法更新具有id的对象,
插入没有id的对象并删除所有没有id的对象
不在场。此功能可以通过以下方式进行多种修改:
提供UpsertGraphOptions对象作为第二个参数
参考:
它提到可以修改默认功能,但不可能基于不同于
id
的列修改搜索。我在products表上与product_图像有一个hasManyRelation。当我尝试更改idColumn()以返回supplier_id时,它停止了正确插入关系。(product_images表中缺少product_id)能否提供一个示例,说明您希望如何根据供应商id
进行更新?
class Supplier extends Model {
static get idColumn() {
return 'supplier_id';
}
}