質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

1254閲覧

Bookshelfのpagination機能 Nodejs

Nomuty

総合スコア12

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2019/08/25 20:38

編集2019/08/31 05:27

Bookshelfのpagination機能について、ID項目がない「company」テーブルを使用すると、
id項目がないというエラーがでます。

idの代わりに、COMPANY_ID項目を使用したいのですが、どうすればよいでしょうか?

〇記述
Bookshelf.plugin('pagination');
var MyData = Bookshelf.Model.extend({
tableName: 'company'
});

〇エラー
{"error":true,"data":{"message":"select count(distinct company.id) from company - ER_BAD_FIELD_ERROR: Unknown column 'company.id' in 'field list'"}

〇ソース
var Bookshelf = require('bookshelf')(knex);
Bookshelf.plugin('pagination');
var MyData = Bookshelf.Model.extend({
tableName: 'company'
});

router.get('/:page', (req, res, next) => {
var pg = req.params.page;
pg *= 1;
if (pg < 1){ pg = 1; }
new MyData().fetchPage({page:pg, pageSize:3}).then((collection) => {
var data = {
title: 'DB(Mysql)からデータ取得・一覧表示(bookshelf)',
content: collection.toArray(),
pagination:collection.pagination
};
console.log(collection.pagination);
res.render('dblistbook', data);
})
.catch((err) => {
res.status(500).json({error: true, data: {message: err.message}});
});
});

module.exports = router;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問