[英]How to save an array using AdonisJs migrations?
我正在嘗試將數組保存到 PostgreSQL 數據庫,但我做不到!
'use strict' const Schema = use('Schema'); class UsersSchema extends Schema { up () { this.create('users', (table) => { table.increments(); table.string('name', 255).notNullable(); table.string('languages', 255).notNullable().defaultTo('[]'); table.timestamps(); }); } down () { this.drop('users'); } } module.exports = UsersSchema;
我嘗試像字符串一樣保存,像數組一樣保存並使用 JSON.parse(),但它不起作用
首先你的數據類型是錯誤的,Adonisjs 為特定列提供了“json”數據類型。 解決方案:-
從字符串更改列類型 -> JSON
在 model 中,將“types”列的數據類型設置為“string”
如何編寫查詢?
a) 您需要使用播種機來插入數據
b) 你必須編寫beforeSave()
鈎子,然后使用JSON.stringify()
將你的“類型”字符串化,以便數據庫可以接受它。
c) 要檢索數據,編寫afterFetch()
和afterFind()
鈎子以將 JSON 字符串解析為正常的 JSON。
如果您打算插入數據,您應該尋找播種而不是遷移
准備好包含遷移的數據庫架構后,下一步是添加一些數據。 這就是數據庫種子和工廠出現的地方。
在此處閱讀更多信息: https : //adonisjs.com/docs/4.1/seeds-and-factories
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.