1

次の json を使用します。

{

    "name" : "Teste",
    "username" : "teste1",
    "password" : "teste1",
    "email" : "teste2@teste",
    "photo" : "teste",
    "description" : "teste",
    "company_posts" : [
        {"text": "Oi"},
        {"text": "olá"}
    ]


}

そして、次のコード:

    company_posts = req.body.company_posts
    delete req.body.company_posts

    bookshelf.Model.extend({
        tableName: 'companies'
    }).forge().save(req.body).then(function(company){

        for(var prop in company_posts){company_posts[prop].company_id = company.id}
        bookshelf.Model.extend({
            tableName: 'companies_posts'
        }).forge().save(company_posts).then(function(company_posts){
            res.send(company_posts)
        })

    })

サーバーは私を返します:

Unhandled rejection Error: ER_WRONG_VALUE_COUNT_ON_ROW: Column count doesn't match value count at row 1

どうしたの?挿入しようとするcompany_posts[0]と動作します。

一気に挿入するにはどうしたらいいcompany_postsですか?

ありがとう。

4

1 に答える 1

1

私のエラーはModel代わりに使用しようとしていましたCollection

それ以外の:

bookshelf.Model.extend({
    tableName: 'companies_posts'
// where I use forge() instead of collection()
}).forge().save(company_posts).then(function(company_posts){
    res.send(company_posts)
})

これはうまくいきます:

bookshelf.Model.extend({
    tableName: 'companies_posts'
    //where I use collection() and works fine
    }).collection(company_posts).invokeThen('save').then(function(company_posts){
            res.send(company_posts)
})
于 2015-05-20T18:43:04.990 に答える