Я пытаюсь получить запись inventDim, если она существует, или создать новую в противном случае.
InventDim inventDim;
inventDim.InventLocationId = "220";
inventDim = InventDim::findOrCreate(inventDim);
info(inventDim.inventDimId);
Я уверен, что InventLocationId со значением "220" уже есть, но все равно добавляется новый.
Если я снова запущу приведенные выше строки, я получу последнее созданное значение, так что на этот раз все в порядке.
Проверяя SQL с помощью:
SELECT *
FROM INVENTDIM
WHERE INVENTLOCATIONID = '220'
обе строки возвращаются.
Я могу удалить добавленную строку со следующими строками:
select forUpdate inventDim
where inventDim.inventDimId == 'the new id';
inventDim.delete(true);
Я не могу понять, что я делаю неправильно здесь..