使用 adonisjs jsonb 字段在 mysql 中插入记录
Insert record in mysql with adonisjs jsonb field
我正在尝试插入一条记录,其中一个字段的类型为 JSONB
以下是我尝试构建的格式以及最后出现的错误。
有问题的字段是 veiculo
orm 正在尝试访问 json 的内部以尝试识别该字段。
它应该插入完整的对象。
谢谢关注。谢谢。
Post
{
veiculo: {
placa: 'PLACA',
motorista: 'NOME',
contato: 'CONTATO',
casa: true,
horaEntrada: '2022-01-20T05:02:22.000Z'
},
fornecedor: 'ALIMENTOS',
lab: 'sim',
}
型号
import { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Produto extends BaseModel {
@column({ isPrimary: true })
public id: number
@column()
public fornecedor: string
@column()
public lab: string
@column()
public veiculo: Object
@column.dateTime({ autoCreate: true })
public createdAt: DateTime
@column.dateTime({ autoCreate: true, autoUpdate: true })
public updatedAt: DateTime
迁移
public async up () {
this.schema.createTable(this.tableName, (table) => {
table.increments('id')
table.string('fornecedor'
table.string('lab')
table.jsonb('veiculo')
/**
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
*/
table.timestamp('created_at', { useTz: true })
table.timestamp('updated_at', { useTz: true })
})
}
错误
Error: ER_BAD_FIELD_ERROR: Unknown column 'placa' in 'field list'
通过 await dataNfe.related('items').createMany(items)
解决
我正在尝试插入一条记录,其中一个字段的类型为 JSONB
以下是我尝试构建的格式以及最后出现的错误。
有问题的字段是 veiculo
orm 正在尝试访问 json 的内部以尝试识别该字段。
它应该插入完整的对象。
谢谢关注。谢谢。
Post
{
veiculo: {
placa: 'PLACA',
motorista: 'NOME',
contato: 'CONTATO',
casa: true,
horaEntrada: '2022-01-20T05:02:22.000Z'
},
fornecedor: 'ALIMENTOS',
lab: 'sim',
}
型号
import { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Produto extends BaseModel {
@column({ isPrimary: true })
public id: number
@column()
public fornecedor: string
@column()
public lab: string
@column()
public veiculo: Object
@column.dateTime({ autoCreate: true })
public createdAt: DateTime
@column.dateTime({ autoCreate: true, autoUpdate: true })
public updatedAt: DateTime
迁移
public async up () {
this.schema.createTable(this.tableName, (table) => {
table.increments('id')
table.string('fornecedor'
table.string('lab')
table.jsonb('veiculo')
/**
* Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
*/
table.timestamp('created_at', { useTz: true })
table.timestamp('updated_at', { useTz: true })
})
}
错误
Error: ER_BAD_FIELD_ERROR: Unknown column 'placa' in 'field list'
通过 await dataNfe.related('items').createMany(items)
解决