【问题标题】:How i can make a create() method using a instance of my model in adonis /node.js?我如何在 adonis /node.js 中使用我的模型实例创建 create() 方法?
【发布时间】:2019-12-10 18:16:23
【问题描述】:

我正在尝试使用 Lucid Models 进行插入。

所以,首先我在 const 中定义我的模型:

const ClasseLivroHistorico = use('App/Models/ClassBookHistoric')

这是我需要创建新记录的函数:

async cadastraPrimeiroHistorico(classeId, bookUnitId, bookId){
    const primeiroClasseLivroHistorico = new ClasseLivroHistorico()
    primeiroClasseLivroHistorico.class_id = classeId;
    primeiroClasseLivroHistorico.book_unit_id = bookUnitId
    primeiroClasseLivroHistorico.book_id = bookId
    primeiroClasseLivroHistorico.status = false
    primeiroClasseLivroHistorico.created_at = new Date()
    primeiroClasseLivroHistorico.book_unit_sequence = 1
    await ClasseLivroHistorico.create(primeiroClasseLivroHistorico)

}

但我得到了:

插入 "xxx" ("$attributes", "$frozen", "$hidden", “$originalAttributes”、“$parent”、“$persisted”、“$relations”、 “$sideLoaded”、“$visible”、“setters”、“created_at”、“updated_at”) 值(1 美元、2 美元、默认值、3 美元、4 美元、5 美元、6 美元、7 美元、默认值、8 美元、9 美元、10 美元) 返回“id” - 关系的“$attributes”列 “xxx”不存在”

我没有使用.save(),因为它返回真/假,我需要返回创建的记录

【问题讨论】:

    标签: node.js adonis.js lucid


    【解决方案1】:

    当您使用ClasseLivroHistorico 对象的新实例时,您需要使用save() 方法。喜欢:

    const primeiroClasseLivroHistorico = new ClasseLivroHistorico()
    ...
    await primeiroClasseLivroHistorico.save()
    
    return primeiroClasseLivroHistorico
    

    如果你想使用create() 方法,你必须给它一个数组中的信息。喜欢:

    let data = { class_id: classeId, ... }
    
    const primeiroClasseLivroHistorico = await ClasseLivroHistorico.create(data)
    

    如果您需要更多信息,请不要犹豫

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      相关资源
      最近更新 更多