【问题标题】:Sails.js ID not returned on Model.create()在 Model.create() 上未返回 Sails.js ID
【发布时间】:2016-10-18 21:07:27
【问题描述】:

js 并且正在使用 MySQL。

所以在我的一个控制器中,我试图创建一个行,这工作正常,但我想知道为什么我没有特别返回行的 ID 以及其他详细信息。

这是我的模型(位置)的样子

module.exports = {
    autoCreatedAt:false,
    autoUpdatedAt:false,

    attributes: {
        lat:{
            type: 'float',
            required: true
        },
        lng:{
            type: 'float',
            required: true
        },
        id: {
           type: 'integer', 
           primaryKey: true,
        }
    }
};

还有我的 LocationController:

Locations.create(req.params.all(), function(err, loc){
    if(err) return res.negotiate(err)
    res.status(201);
    return res.json(loc);
})

得到的响应是:

{
  "lat": 19.075984,
  "lng": 72.877656
}

我需要表格行的 ID 以及 lat 和 lng

【问题讨论】:

标签: javascript mysql node.js sails.js


【解决方案1】:

这是 Waterline ORM 问题:

请查看https://github.com/balderdashy/waterline/issues/481 可能会有所帮助

这是因为您设置了 autoPK: false 标志。因此,您可以重新打开它并从属性中删除 id 字段,或者将 autoIncrement: true 添加到 id 属性。

autoPK 标志构建一个与您正在构建的相同的 id 属性:

id:{ 类型:'整数', 主键:真, 自动增量:真 }

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多