hyese ch
@hyesech1275
Reviews Written
1
Average Rating
5.0
Posts
Q&A
Boolean ๊ฐ update ๋ฌธ์
ํด๊ฒฐ๋์์ต๋๋ค. snake case๋ก ์ค์ ํด์ ๊ทธ๋ ๊ฒ ์ค์ ๋์๋ค๊ณ ์๊ฐํ๋๋ฐ isAnswered๋ก ๋์ด ์์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
- 0
- 11
- 908
Q&A
Boolean ๊ฐ update ๋ฌธ์
๋ผ์ฐํฐ๋ post์ delete ์ ๋ถ ์ ์คํ๋ฉ๋๋ค. ํจ์น๋ update๋ฅผ ๋งํ๋ ค๊ณ ํ๋ ๊ฑด๋ฐ ์๋ชป ์ด์ผ๊ธฐํด์ ํผ์ ์ ๋๋ฆฐ ๊ฒ ๊ฐ๋ค์. ์ง๊ธ ํ๋ ค๋ ๊ฒ์ post ๋ผ์ฐํฐ ์์ชฝ์์ answer create์ ask update๋ฅผ ์คํํ๊ณ delete ๋ผ์ฐํฐ ์์ชฝ์์ answer destroy์ ask update๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค.
- 0
- 11
- 908
Q&A
Boolean ๊ฐ update ๋ฌธ์
answer๋ฅผ ์์ฑํ๋ฉด answer ๋๋น์ ์ ๋ค์ด๊ฐ๊ณ , ๋ค๋ง patch๋ง ๋์ง ์์์... ํน์ ์ค์๊ฐ ์๋๋ฐ ์ ๊ฐ ๋ชจ๋ฅด๋ ๊ฑด์งใ ใ ์กฐ์ธ ๋ถํ๋๋ฆฝ๋๋ค...
- 0
- 11
- 908
Q&A
Boolean ๊ฐ update ๋ฌธ์
ํ๋ก ํธ saga์์ answer ๊ฒ์์ ์ญ์ ๋ ์๋์ ๊ฐ์ด ์์ฑํ์ต๋๋ค. // Add Answer function addAnswerAPI(data) { return axios.post(`/answers/${data.askId}`, data); } function* addAnswer(action) { try { const result = yield call(addAnswerAPI, action.data); yield put({ type: ADD_ANSWER_SUCCESS, data: result.data, }); } catch (err) { yield put({ type: ADD_ANSWER_FAILURE, error: err.message, }); } } // REMOVE ANSWER function removeAnswerAPI(data) { return axios.delete(`/answers/${data.answerId}/delete/${data.askId}`); } function* removeAnswer(action) { try { const result = yield call(removeAnswerAPI, action.data); yield put({ type: REMOVE_ANSWER_SUCCESS, data: result.data, }); } catch (err) { yield put({ type: REMOVE_ANSWER_FAILURE, error: err.message, }); } } ๊ทธ๋ฆฌ๊ณ ๋ฐฑ์๋ ์ฝ๋์์ answer ๊ฒ์(+์ฐ๊ฒฐ๋ ask์ is_answered: true)๋ก ๋ณ๊ฒฝ, answer ์ญ์ (+ ์ฐ๊ฒฐ๋ ask์ is_answered:false)๋ก ๋ณ๊ฒฝํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ต๋๋ค. // ํน์ ์ง๋ฌธ์ ๋๋ตํ๊ธฐ POST /answers/askId router.post("/:askId", isLoggedIn, async (req, res, next) => { try { const ask = await Ask.findOne({ where: { id: req.params.askId }, }); if (!ask) { // ํด๋น ์ง๋ฌธ์ด ์์ผ๋ฉด ๋ฆฌ๋ค์ด๋ ํธ return res.status(403).send("์กด์ฌํ์ง ์๋ ask์ ๋๋ค."); } // ํด๋น ์ง๋ฌธ์ด ์์ผ๋ฉด is_answered๋ฅผ true๋ก ๋ณ๊ฒฝ await Ask.update( { is_answered: true, }, { where: { id: req.params.askId }, } ); const answer = await Answer.create({ content: req.body.answer, linked_ask_id: req.params.askId, target_user_id: req.user.id, }); // ๋ฆฌ๋ค์ด๋ ํธ ๊ฑธ์ด์ฃผ๋ฉด ์ข๊ฒ ๋ค... res.status(201).json(answer); } catch (err) { console.error(err); next(err); } }); // ํน์ ๋ต๋ณ ์ญ์ ํ๊ธฐ router.delete( "/:answerId/delete/:askId", isLoggedIn, async (req, res, next) => { try { // ํด๋น ๋ต๋ณ์ ์ฐ๊ฒฐ๋ ask์ is_answered ์ปฌ๋ผ๊ฐ false๋ก ๋ณ๊ฒฝ await Ask.update( { is_answered: false, }, { where: { id: req.params.askId }, } ); // ๋ต๋ณ ์ญ์ await Answer.destroy({ where: { id: req.params.answerId, target_user_id: req.user.id, }, }); res.status(201).send("๋ต๋ณ์ ์ญ์ ํ์ต๋๋ค."); } catch (err) { console.error(err); next(err); } } );
- 0
- 11
- 908
Q&A
Boolean ๊ฐ update ๋ฌธ์
Executing (default): SELECT `id`, `email`, `username`, `password`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt` FROM `users` AS `User` WHERE `User`.`id` = 1; Executing (default): SELECT `id`, `nickname`, `content`, `is_answered` AS `isAnswered`, `created_at` AS `createdAt`, `updated_at` AS `updatedAt`, `target_user_id` FROM `asks` AS `Ask` WHERE `Ask`.`id` = '10'; Executing (default): INSERT INTO `answers` (`id`,`content`,`created_at`,`updated_at`,`target_user_id`,`linked_ask_id`) VALUES (DEFAULT,?,?,?,?,?); ์์ ์ฟผ๋ฆฌ๋ is_answered ๊ธฐ๋ณธ๊ฐ์ true๋ก ๋ณ๊ฒฝํ๋ ค๊ณ ํ ๋ ๋จ๋ ์ฟผ๋ฆฌ์ ๋๋ค.
- 0
- 11
- 908
Q&A
Boolean ๊ฐ update ๋ฌธ์
๋ฐฑ์๋ ์ฝ์์๋ `is_answered` TINYINT(1) DEFAULT false ์ด๋ ๊ฒ ๋น๋๋ค. ์ ์ฒด๋ Executing (default): CREATE TABLE IF NOT EXISTS `asks` (`id` INTEGER NOT NULL auto_increment , `nickname` VARCHAR(30), `content` VARCHAR(1500) NOT NULL, `is_answered` TINYINT(1) DEFAULT false, `created_at` DATETIME NOT NULL, `updated_at` DATETIME NOT NULL, `target_user_id` INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`target_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci; Executing (default): SHOW INDEX FROM `asks` FROM `asker` ์ด๋ ๊ฒ ๋จ๊ณ ์! underscored: true, ์ค๋ค์ดํฌ ์ผ์ด์ค๋ก ์ค์ ์ ๋ณ๊ฒฝํ์ต๋๋ค. ๊ทธ๋์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํ๋๋ฐ, ๊ฐ์ด ๋ณ๊ฒฝ์ด ๋์ง ์๋ค์..ใ ใ
- 0
- 11
- 908
Q&A
BOOLEAN
(์ฌ์ง) ๋ง์ํด์ฃผ์ ๋๋ก ์ค์ ํ๋๋ ๊ฐ์ด ๋ค์ด๊ฐ์ต๋๋ค! ์ดํ์... ์ด์ ๊ฒ์๋ฌผ์ด ์ ๋๋ก ์ฌ๋ผ๊ฐ๋ฉด is_answered ๊ฐ์ true๋ก ๋ณ๊ฒฝํ๋ ค๊ณ ํ๋๋ฐ 1. ์์ ์ฌ์ง์ฒ๋ผ delete ๋ผ์ฐํธ์์ delete์ patch ์์ ์ ๋์์ ํด์ฃผ์ด๋ ๋๋์? 2. ๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก update๋ฅผ ํ๋๋ default ๊ฐ์ผ๋ก ์ค์ ๋์๋ 0์ ๊ฐ์ด 1๋ก ๋ณ๊ฒฝ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค. ใ ใ ๋ ๊ฐ์ง ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
- 0
- 4
- 357
Q&A
Class ๋ฐฉ์์ผ๋ก ๋ฐ๊พธ๊ณ ๋ ์ดํ
๊ฐ์ฌํฉ๋๋ค...ใ ใ ใ
- 0
- 4
- 229
Q&A
Class ๋ฐฉ์์ผ๋ก ๋ฐ๊พธ๊ณ ๋ ์ดํ
์ค๋ ๊ณ์ ์์ ํด๋ณด์๋๋ฐ... ์๋ฌด๋ฆฌ ํด๋ ์ธ๋ํค๊ฐ ์์ฑ๋์ง ์์์ ์ง๋ฌธ์ ๋๋ฆฝ๋๋คใ ใ https://github.com/Askers/asker-back/tree/dev/models user, ask, answer ์ธ ๊ฐ์ง ๋ชจ๋ธ์ ๋ํ ๊ด๊ณ๋ฅผ ์ ์ํด๋์๋๋ฐ ํน์ ํ์ธ ๋ถํ๋๋ ค๋ ๋ ๊น์? ๋์ ํ ์์ธ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค ใ ใ ํ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ ์ ์ฒด ๊ด๊ณ๊ฐ ์ ์๋์ง ์๋ ์ํ์ ๋๋ค... ใ
- 0
- 4
- 229
Q&A
sequelize ์ฐ๊ฒฐ ์ ํ ์ด๋ธ๊ฐ ๊ด๊ณ์ ๋ํ ์ง๋ฌธ์ ๋๋ค.
์ ์๋, ์ต๋ช ์ธ ๊ฒฝ์ฐ์๋ ์ ๋ณด๋ฅผ ์ ์ฅํด์ผ ํ ๊น์?
- 0
- 6
- 267




