Добрый день.
Есть таблица Questions в которой хранятся вопросы и в ней же есть столбец author_question - в котором хранится id пользователя.
Есть таблица Users в которой хранятся пользователи и там есть столбец username, который содержит имя пользователя.
При запросе к БД мне нужно получить список с вопросами и я его успешно получаю. Но в этом списке присутствует id пользователя и это логично т.к. в таблице Questions в столбце author_question хранится именно id.
Вопрос: Как мне в одном запросе по этому id при получении списка вопросов сразу получить и имя пользователя из таблици Users.
Что делаю: Файл model.js
import bookshelf from './bookshelf';
export const Users = bookshelf.Model.extend({
tableName: 'users'
});
export const Questions = bookshelf.Model.extend({
tableName: 'questions',
author_question: function() {
return this.belongsTo(Users, 'username');
}
});
Файл(роут) с самим запросом:
getQuestions.post('/', (req, res) => {
Questions.query(function(db) {
}).fetchAll({ withRelated:['author_question'] })
.then(questions => {
if (questions) {
res.json({ questions });
} else {
res.status(401).json({ errors: { form: 'Invalid Credentials' }
});
}
});
});
В итоге получаю ошибку : Unhandled rejection Error: Undefined binding(s) detected when compiling SELECT query: select "users".* from "users" where "users"."id" in (?)
Я по ходу где-то с самим синтаксисом напортачил и не понял принцип построения связей в bookshelf. Разъясните с указанием на ошибки. Спасибо.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть функция, которая получает массив mas2 (он задаёт структуру дерева) и массив с параметрами param, которые нужно сложить по правилу в зависимости...
Мне посоветовали взять этот кусок кодаЯ взяв, но толком мне не понятны некоторые моменты