私はイベントを作成して他のユーザーを招待できるプログラムを紹介して遊んでいました。私はあなたがデータを取得するためにジョインテーブルを使用できることを知っていますが、私は、データがPOSTGRESQLを使用して自分自身を入れ子にして、ユーザーがホストしている、出席している、そしてIDに基づいて招待されたイベントを表示する方法があることを期待していました。イベント。ここでpostgresを使ったエクスプレスアプリのデータのネスト
は、私がこれまで持っているものです。
app.get('/api/users', function(req, res) {
var list = [];
User.findAll().then(function(users) {
for(var i in users) {
var item = {
id: users[i].dataValues['id'],
firstName: users[i].dataValues['firstname'],
lastName: users[i].dataValues['lastname'],
email: users[i].dataValues['email'],
phone: users[i].dataValues['phone'],
image: users[i].dataValues['image'],
confirmed: users[i].dataValues['confirmed'],
events: []
}
Event.findAll({ where: { hosting_id: user.id }}).then(function(events) {
for(var i in events) {
item.events.push({
hosting: event[i].dataValues['id'],
attending: event[i].dataValues['id'],
invites: event[i].dataValues['id']
})
}
})
list.push(item)
}
res.json(list)
})
});
は、私はそれがループとidを介してユーザーに関連付けられているすべてのイベントを見つけることができるように、それを持ってすることができましたが、私はよまだそれは、次の例のように、イベントIDを表示できるように、それはそれぞれ1で接続しているとどのように苦しん:
{
"id": "4",
"firstName": "Jon",
"lastName": "Doe",
"email": "[email protected]",
"phone": "1234567890",
"image": "",
"events": {
"hosting": [
"1"],
"attending": [],
"invites": [
"3", "4"]
},
"confirmed": true
}
表示情報を持つだけでなく、私もそれが必要になりますかどうかを把握しようとしていますPOSTGRESデータベース内でネストするか、join tablのようなものを使うことができるかeを使用していますが、別のAPI呼び出しを使用せずに情報表示を保持しています。
ご協力いただければ幸いです!前もって感謝します!