【问题标题】:Adonis controller doesn't store information to DBAdonis 控制器不将信息存储到数据库
【发布时间】:2021-02-17 09:47:02
【问题描述】:

我正在编写一个页面,用户应该在两个文本区域中放置一些信息,并且这些文本数据应该写入数据库。 DB中的行在这两个区域用NULL创建,DateTime写在那里。

所以在我的数据库中我有id|usuario_nombre|file_nombre|created_at| updated_at

usuario_nombre|file_nombreNULL,其他人有信息。

你能帮忙吗?

控制器:

'use strict'

const Upload = use('App/Models/Upload')


class UploadController {
    async index({ view }) 
    {
        const uploads = await Upload.all();
        return view.render('/', {
            uploads: uploads.toJSON()
        })
    }
    async create({ view }) 
    {
        return view.render('/upload');
    }

    async store({ request, response }) 
    {
        const upload = new Upload();
        upload.usuario_nombre = request.input('usuario_nombre');
        upload.file_nombre = request.input('profilefile');
        upload.save();
        response.redirect('/');
    }
}

module.exports = UploadController

带输入的表单:

<form method="POST" enctype="multipart/form-data">
   {{ csrfField() }}
   <input type="text" id="usuario_nombre"  name="usuario_nombre"/>
   <input type="text" name="profilefile" id="profilefile"/>
   <button type="submit"> Submit </button>
</form>

路线:

Route.get('/upload/create', 'UploadController.create')
Route.get('/upload', 'UploadController.store')
    
Route.get('/upload/create', 'UploadController.create')
Route.get('/upload', 'UploadController.store')

迁移:

'use strict'

/** @type {import('@adonisjs/lucid/src/Schema')} */
const Schema = use('Schema')

class UploadsSchema extends Schema {
    up() {
        this.create('uploads', (table) => {
            table.increments()
            table.string('usuario_nombre')
            table.string('file_nombre')
            table.timestamps()
        })
    }
    down() {
        this.drop('uploads')
    }
}
module.exports = UploadsSchema

【问题讨论】:

  • 请阅读此文档以改善您的问题:stackoverflow.com/editing-help
  • 您能否添加console.info() 以显示来自store 控制器的request 值。你能在upload.save(); 之前添加一个await 运算符吗? -> await upload.save();

标签: mysql adonis.js


【解决方案1】:

使用 await upload.save(); 因为 save() 是异步操作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    相关资源
    最近更新 更多