我正在使用Sequelize,我正在尝试在原始查询中获取最后插入的ID.
我的疑问是
.query(Sequelize.Utils.format(["insert into MyTable (field1, field2) values (?,?)", val1, val2])
Run Code Online (Sandbox Code Playgroud)
查询完成,但成功事件的结果为null.
有人可以帮忙吗?
谢谢.
伙计们,
经过一些研究和千万次尝试后,我理解了被调用者对象在sequelizeJs中是如何工作的.
如果我的答案错了,请纠正我.
被调用者对象需要这种结构
{__factory:{autoIncrementField: 'parameterName'}, parameterName: '' }
Run Code Online (Sandbox Code Playgroud)
在这种情况下,"parameterName"是将存储新ID的字段,sequelize查找__factory.autoIncrementField以将最后插入的id的值设置为属性及其值(__factory.autoIncrementField的值).
所以,我对querys方法的调用就是
.query(sequelize.Utils.format(tempInsert), {__factory:{autoIncrementField: 'parameterName'}, parameterName: '' }, {raw: true})
Run Code Online (Sandbox Code Playgroud)
这将导致像这样的对象
{ __factory: { autoIncrementField: 'parameterName' }, parameterName: newInserted_ID }
Run Code Online (Sandbox Code Playgroud)
感谢所有人,我希望这可以帮助别人.
我需要你的帮助.
我有一个带有函数参数的指令(范围:{myParam:'@'}).我在HTML中传递参数,比如my-param ="myFunc(param1,param2)"
这非常有效.但是,我需要将事件对象注入参数.有人知道我该怎么办?
我尝试了$ provider.annotate和$ provider.instantiate,但它们没有用,因为它在指令中使用了引用函数.(在我的情况下为$ a),因此它无法获取函数参数.
任何的想法?