Я использую Sequelize, и я пытаюсь получить последний вставленный идентификатор в необработанном запросе.
Мой запрос
.query(Sequelize.Utils.format(["insert into MyTable (field1, field2) values (?,?)", val1, val2])
Запрос выполняется отлично, но результат успешного события равен нулю.
Может кто-нибудь помочь?
Спасибо.
Ребят,
после некоторых исследований и попыток zillions, я понял, как работает объект callee в sequelizeJs.
пожалуйста, исправьте меня, если мой ответ неверен.
объект вызываемого объекта нуждается в этой структуре
{__factory:{autoIncrementField: 'parameterName'}, parameterName: '' }
в этом случае "parameterName" - это поле, в котором будет сохранен новый идентификатор; sequelize ищет __factory.autoIncrementField, чтобы установить значение последнего вставленного id в свойство со своим значением (значение __factory.autoIncrementField).
поэтому мой метод запроса к запросу будет
.query(sequelize.Utils.format(tempInsert), {__factory:{autoIncrementField: 'parameterName'}, parameterName: '' }, {raw: true})
это приведет к созданию такого объекта
{ __factory: { autoIncrementField: 'parameterName' }, parameterName: newInserted_ID }
спасибо всем, и я надеюсь, что это может помочь кому-то.