如果它存在,我正在尝试获取 inventDim 记录,否则创建一个新记录。
InventDim inventDim;
inventDim.InventLocationId = "220";
inventDim = InventDim::findOrCreate(inventDim);
info(inventDim.inventDimId);
我确信值“220”的 InventLocationId 已经存在,但无论如何,添加了一个新的。
如果我再次运行上述行,我将获得最后创建的值,所以这一次,一切都很好。
通过检查 SQL:
SELECT *
FROM INVENTDIM
WHERE INVENTLOCATIONID = '220'
两行都返回。
我可以使用以下行删除添加的行:
select forUpdate inventDim
where inventDim.inventDimId == 'the new id';
inventDim.delete(true);
我不知道我在这里做错了什么..