์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ธ๋์น ํ์ธ
- markdown
- branch ์ญ์
- branch ์์ฑ
- ์ฝ๋๋ธ๋ญ
- ๋งํฌ๋ค์ด
- ๋ธ๋์น ์ญ์
- ์ฝ๋๋ธ๋ก
- ๋ธ๋์น ์์ฑ
- ![rejected]
- Git๋ช ๋ น์ด
- branch ํ์ธ
- Today
- Total
DevLog
[โ๏ธ Project Dev Log] 2022-01-11 ๋ณธ๋ฌธ
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์?
- sequelize ๊ด๊ณ์ค์
- admin: ์ผ์ ์ ๊ณ ์ด์์ธ ๋ผ์ด์ง์ ์ฃผ์, ๋ผ์ด์ง id, ์ ๊ณ ๊ฐ์๋ฅผ ๋ฆฌํดํด์ฃผ๋ api ๊ตฌํ
์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์?
- sequelize ๊ด๊ณ ์ค์ ๋ฐ ๊ทธ๋ฃนํ, findAndCountAll ์ฌ์ฉ
์ด์ ๊นจ๋ซ๊ฒ๋ ๊ด๊ณ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ sequelize๊ณต์ ๋ฌธ์์์ Associations ํํธ ๋ถ๋ถ์ ์ฝ์ด๋ดค๋ค.
ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ์์ ์ฌ์ฉ์ค์ธ ๊ด๊ณ๋ ์ผ๋๋ค 1:N ๊ด๊ณ๊ฐ ๋๋ถ๋ถ์ด๋ผ ์ด ๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ๊ด๊ณ์ค์ ์ ํด์ผํ๋ค.
Team.hasMany(Player);
Player.belongsTo(Team);
์์ ์ฝ๋๊ฐ ์ด๋ฐ์์ผ๋ก ์์ฑ๋์ด ์์๋๋ฐ ์ผ๋๋ค์ ๊ด๊ณ๋ฅผ ์ค์ ํด์ฃผ๋ ค๋ฉด ์ฐ๊ด๋ ๋ ๊ฐ์ ๋ชจ๋ธ์ hasMany์ belongsTo๋ฅผ ์ธํธ๋ก ๋ฌถ์ด์ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
ํด์ํ์๋ฉด ํ๊ฐ์ Team์ ์ฌ๋ฌ๊ฐ์ Player๋ฅผ ํฌํจํ๊ณ , ์ฌ๋ฌ๊ฐ์ Player๋ ํ๊ฐ์ Team์ ํฌํจ๋๋ค๋ ์๋ฏธ์ด๋ค.
(Team์ 1 Player๋ N => 1:N์ ๊ด๊ณ)
๋ณธ์ธ์ด ์งํ์ค์ธ ํ๋ก์ ํธ์์ user๋ชจ๋ธ๊ณผ comment ๋ชจ๋ธ์ด ์ด ๊ด๊ณ๋ฅผ ๋๊ณ ์๋๋ฐ,
ํ๋ช
์ ์ ์ ๊ฐ ์ฌ๋ฌ๊ฐ์ ๋๊ธ์ ์์ฑํ ์ ์๋ ๊ด๊ณ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ด ๊ด๊ณ๋ฅผ ์๋์ ๊ฐ์ด ์ค์ ํด์คฌ๋ค.
static associate(models) {
user.hasMany(models.comment)
}
static associate(models) {
comment.belongsTo(models.user)
}
๊ด๊ณ๋ฅผ ์ค์ ํด์ค๋ค ์ค์ ๋ ๋ชจ๋ธ๋ค์ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ํด๋ณด์๋ค.
const data = await report.findAndCountAll({
group: ["loungeId"],
include: {
model: lounge,
require: true,
},
});
์กฐํ์ ๋์์ ๊ฐ์๋ ํ์ํด์ findAndCountAll์ ์ฌ์ฉํด์ ์ฟผ๋ฆฌํ๋๋ฐ ์ฌ์ฉํ ์ต์ ๊ฐ์ ์ค๋ช ํ๋ฉด
- group: row์ฟผ๋ฆฌ์์ group by์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค(์๋์ ์ฝ๋์์๋ loungeId๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํ ํ๋ค๋ ์๋ฏธ์ด๋ค).
- include: ํ์ฌ์ ๋ชจ๋ธ๊ณผ ์ฐ๊ด๋ ์ต์
์ ๊ธฐ์ฌ๋ ๋ชจ๋ธ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค
- require: true๋ก ์ค์ ํ๋ฉด joinํ ๋ outer join ๋์ ์ inner join์ผ๋ก ํ๋ค.
์์ ์ฝ๋์ฒ๋ผ ์ฟผ๋ฆฌํ๋ฉด ์กฐํํ๊ณ ์ ํ๋ ๋ชจ๋ธ์ data ์ ๋ณด์ ๊ทธ ์๋ ์ถ๊ฐ๋ก ์ต์ include์ ๊ธฐ์ฌ๋ ๋ชจ๋ธ์ ์ ๋ณด๋
lounge: [lounge]
์ด์ ๊ฐ์ ํ์์ผ๋ก ์ ์กฐํ๋๋ค
๋ด์ผ์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ ์ํด ๋ฌด์์ ํด์ผ ํ๋์?
- ๊ด๋ฆฌ์๊ฐ ์ ๊ณ ๋ ์ ๋ณด๋ฅผ ํ์ธ ํ ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ api ๊ตฌํ
- ์ค์ ๋ model assosiate๋ฅผ ์ด์ฉํ์ฌ ์ฝ๋ ๋ฆฌํํ ๋ง
'๐ Project - Dev Log' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[โ๏ธ Project Dev Log] 2022-01-14 (0) | 2022.01.13 |
---|---|
[โ๏ธ Project Dev Log] 2022-01-12 (0) | 2022.01.12 |
[โ๏ธ Project Dev Log] 2022-01-10 (0) | 2022.01.10 |
[โ๏ธ Project Dev Log] 2022-01-08 (0) | 2022.01.08 |
[โ๏ธ Project Dev Log] 2022-01-07 (0) | 2022.01.08 |