inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

댓글 기능에 db SELF JOIN을 걸어서 대댓글을 만들고 싶습니다.

해결됨

React로 NodeBird SNS 만들기

module . exports = (sequelize , DataTypes) => { const Comment = sequelize. define ( 'Comment' , { content :{ type : DataTypes.TEXT , allowNull : false, } , isDeleted :{ type :DataTypes.BOOLEAN , allowNull : false, defaultValue : false, } , } , { charset : 'utf8mb4' , collate : 'utf8mb4_general_ci' , }) ; Comment. associate = (db) => { db. Comment . belongsTo (db. User ) ; db. Comment . belongsTo (db. Post ) ; db. Comment . belongsTo (db. Comment , { as : 'ReComment' , foreignKey : 'ParentId' }) ; } ; return Comment ; } ; 다음과 같이 모델에 새로 관계 추가해줬구요 router .post( '/:postId/comment/:parentId' , isLoggedIn , async (req , res , next) => { // POST /api/post/10/comment/2 try { const post = await db . Post . findOne ({ where : { id : req. params . postId } }) ; if (!post) { return res. status ( 404 ). send ( ' \" message \" : \" 포스트가 존재하지 않습니다 . \" ' ) ; } const comment = await db . Comment . findOne ({ where : { id : req. params . parentId } }) ; if (!comment) { return res. status ( 404 ). send ( ' \" message \" : \" 댓글이 존재하지 않습니다 . \" ' ) ; } const reComment = await db . Comment . create ({ PostId : req. params . postId , UserId : req. user . id , content : req. body . content , ParentId : req. params . parentId , }) ; await post.addComment(reComment. id ) ; const comments = await db . Comment . findOne ({ where : { id : reComment. id , } , include : [{ model : db . User , attributes : [ 'id' , 'nickname' ] , }] , }) ; return res. json (comments) ; } catch (e) { console . error (e) ; return next(e) ; } }) ; 다음과 같이 라우터에도 추가해줘서 대댓글이 잘 생성이 되긴 합니다. 그런데 대댓글의 데이터 셋을 뽑아올 때 sequelize로 어떻게 뽑아와야할 지 모르겠더라구요. 일단 제가 작성한 코드는 다음과 같습니다. router .get( '/:id/comments' , async (req , res , next) => { try { const post = await db . Post . findOne ({ where : { id : req. params . id } }) ; if (!post) { return res. status ( 404 ). send ( ' \" message \" : \" 포스트가 존재하지 않습니다 . \" ' ) ; } const comments = await db . Comment . findAll ({ where : { PostId : req. params . id , isDeleted : 0 , ParentId : null, } , order : [[ 'createdAt' , 'ASC' ]] , include : [{ model : db . User , attributes : [ 'id' , 'nickname' ] , include :[{ model : db . Image , attributes :[ 'src' ] }] } , { model : db . Comment , as : 'ReComment' , where : { ParentId : Comment . id //해결하고싶은 부분 } }] , }) ; res. json (comments) ; } catch (e) { console . error (e) ; next(e) ; } }) ; 해결하고싶은 부분이 바로 저부분입니다. WHERE절에 db.Comment 의 id를 가져다가 사용하고싶은데요 어떤 함수를 사용해야하는지 공식문서를 찾아봐도 못찾겠더라구요 혹시 해결방법이 있을까요? 생 쿼리를 사용한다면 SELECT * FROM comments.Co SELF JOIN comments.Re ON Re.parentId = Co.id 이런 느낌이겠네요.

  • javascript
  • react
NUTEE 댓글 1 좋아요 0 조회수 484

도와주십시오 선생님 ㅠㅠ

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

리스트 L에서 임의의 자료값 하나를 꺼내려고 했는데 TypeError: 'list' object is not callable 이라고 뜨네요 ㅠㅠ 그리고 맨처음 from은 왜 노랑 밑줄 쳐져있는 건가요?

  • python
금동민 댓글 7 좋아요 0 조회수 403

isLoggedIn 에서 req.isAuthenticated() 질문있습니다.

미해결

Node.js 교과서 - 기본부터 프로젝트 실습까지

소셜 로그인 부분에서 req.isAuthenticated() 부분이 인증이 되었음에도 false가 반환됩니다. cookie에서 뭔가 인증을 해줘야하는 건가요? 어떻게 해결해야 하나요?

  • nodejs
  • mongodb
  • javascript
  • mysql
760kry@gmail.com 댓글 2 좋아요 0 조회수 309

우분투 파일 다운로드 링크 관련

미해결

리버스쿨 Level1 - 리버싱 분석 초급과정

안녕하세요, 강사님~ 리버스쿨 Level 1 강의를 매우 재미있게 듣고 있는 수강생입니다. :-) 실습을 위해 환경구축을 하려 하는데 알려주신 우분투 파일 다운로드 경로에 접근하니, 링크를 찾을 수 없다고 합니다. 현 시점에서는 해당 파일을 어디에서 구할 수 있을지 확인 부탁드리겠습니다!

  • 리버싱
Serah Kim 댓글 1 좋아요 0 조회수 278

PlayerMovement (3/4) 질문입니다.

미해결

레트로의 유니티 C# 게임 프로그래밍 에센스

public void Rotate() { var targetRotation = followCam.transform.eulerAngles.y; transform.eulerAngles = Vector3.up * targetRotation; } 에서 캠의 y에 대한 회전값을 가져와서 <0, 캠y회전값, 0> 오일러각으로 현재 플레이어의 회전 상태를 설정하잖아요? 그럼 만일 게임 도중에 뭐 폭발물에 의한다든가 이것저것 부가 기능을 넣어서 플레이어 캐릭터의 x나 z에 대한 회전값을 조작하는 경우가 있었다고 한다면 그럼에도 저 스크립트대로 둔다면, 플레이어 캐릭터가 x나 z 방향으로 기울어진 상태에서 플레이어가 마우스를 살짝 움직여주면 갑자기 바로 서 버려서 <0, 캠y회전값, 0>으로 오일러각이 설정돼 버리는 거 아닌가요?? 궁금합니다!

  • C#
  • unity
hwakyeom 댓글 1 좋아요 0 조회수 266

3편 강의나 추가적인 저서 출판 소식은 없나요?

미해결

함수형 프로그래밍과 JavaScript ES6+

안녕하세요~ 1년차 UI 개발자입니다. 현재 함수형 프로그래밍과 Javascript ES6+를 수료하고 한번 더 다시 들으면서 개념을 정리를 하고 있습니다. 매우 많은 도움이 되었고 다음에 들을 응용편도 기대가 됩니다. 이전에 저자님이 작성하신 책에서도 많은 것을 보고 배웠습니다. 혹시 응용편 다음에 나올 강좌나 기존에 작성하신 책에 대한 개정판은 언제 나오게 될까요? 개인적으로 추후에는 유인동 저자님이 만든 함수형 강좌를 기반으로 작은 프로젝트를 만드는 강좌가 있으면 참 좋겠습니다!

  • javascript
  • 함수형-프로그래밍
hellofrontdev 댓글 1 좋아요 0 조회수 174

1.8 27:14~ onto관련 질문입니다.

미해결

선형대수학개론

Example 3의 matrix가 onto가 아닌이유가 R3 range의 일부만 mapping?이 되어서 onto가 아니라고 이해하고 있는데요. 이렇게 이해하는것이 맞는지 궁금합니다.

  • 선형대수학
이성복 댓글 1 좋아요 2 조회수 207

텔레그램 봇 만들기 2차 강의 중

미해결

남박사의 파이썬 기초부터 실전 100% 활용

23번째 줄 r.text에서 invalid syntax라고 뜨며 오류가 나는데 이유를 모르겠습니다.

  • python
  • 웹-크롤링
lmj040423 댓글 1 좋아요 1 조회수 342

PlayerMovement (2/4) 질문입니다.

미해결

레트로의 유니티 C# 게임 프로그래밍 에센스

FixedUpdate와 Update를 나눠서 전자에는 물리적 캐릭터 움직임을, 후자에는 캐릭터 애니메이션 업데이트를 넣어주셨는데요. 그냥 둘 다 FixedUpdate로 넣는 편이 더 깔끔도 하고 정확도 면에서도 좋고 다 좋지 않나요?

  • C#
  • unity
hwakyeom 댓글 1 좋아요 0 조회수 328

완강하였습니다

미해결

Vue.js 끝장내기 - 실무에 필요한 모든 것

완강하고 백엔드 쪽 궁금증이 생겨서 질문드립니다 1. vue-til-server의 dis 폴더 안에 api의 auth.js, post.js는 src폴더 안의 api폴더 안의 auth.js, posts.js와 어떤 차이점이 있나요?? 2. swagger 작성법이 궁금합니다. utils폴더 아래 api-doc.js /api-spec.json을 다 일일이 타입하셨나요?? swagger를 만드니깐 제가 느끼기엔 integration test를 해버리는 것 같습니다. 맞을까요? 지금까지 postman으로 api 작성 후 postman으로 테스트 했는데, 그럼 실무에서는 swagger를 만들어서 작성을 많이하나요??

  • vuejs
  • vuex
  • javascript
linux-s 댓글 0 좋아요 0 조회수 178

생성자뒤에 붙는 this에 관해 질문드립니다

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

생성자 뒤에 this가 붙을 경우 이전 생성자를 불러와 실행한 뒤 본 생성자를 실행하는 것으로 이해했습니다. 제가 이해한 방식대로 생각했을 때 Kni3.mp의 값이 정해지는 순서가 1.this생성자(3번째) : 이전 생성자에서 hp,att,mp값 불러옴 2.this생성자(2번째) : 이전 생성자에서 hp,att,mp값 불러옴 3. this생성자(2번째): hp값 = 미입력, mp값 = 33 4.this생성자(3번째) : hp,att값 = 입력값 , mp값 = 33 Kni3.mp = 33이 나와야 한다고 생각했지만 디버깅해보니 Kni3.mp = 3 이 나와서 헷갈리기 시작했습니다. 생성자 뒤에 this가 붙을 경우 "이전 생성자"를 불러오는게 아닌 "기본 생성자"에서 정해진 값만 불러오고 정해지지 않은 값은 0으로 불러오는 건가요?

  • C#
깃버 댓글 1 좋아요 2 조회수 323

async과 future차이

미해결

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

앞에서 배운 future와 async의 차이를 알고 싶습니다.

  • python
  • django
Seongmin Lee 댓글 1 좋아요 0 조회수 287

아래의 질문에 이어서 답변 부탁드리겠습니다.

미해결

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

강사님을 너무 귀찮게 해드리네요 아래 selenium과 scrapy 를 질문한 사람입니다. 결국 강사님의 답변은 네트워크 헤더를 분석해서 해더를 만들어 전송해 selenium의 효과를 내야 한다는 말씀이신지요? 만약 그렇다면 그러한 고급 과정 개설도 생각하고 계신지요?

  • scrapy
  • 웹-크롤링
  • selenium
내일은 한걸음 더 나아갈거야 댓글 1 좋아요 0 조회수 207

자료를 받을 수있는 사이트

미해결

파이썬 데이터시각화 분석 실전 프로젝트

강의자료는 크리애플 홈페이지(www.creapple.com)에서 받으실 수 있습니다. 없는데요? 어딜 봐야합니까?

  • python
  • pandas
jh shin 댓글 1 좋아요 0 조회수 208

propTypes에서 bool으로 쓰면 값이 안 나오는데

미해결

React로 NodeBird SNS 만들기

PlannerCard.propTypes = { planner: propTypes.shape({ checked:propTypes . bool content: proTypes.string, } ), } 으로 설정했고 reducers planner에서는 checked라는 변수에 대해 true로 했는데 < Checkbox defaultChecked = { planner . checked24 } disabled ></ Checkbox > 이 결과값이 다르게 아무것도 표시 없이 나오는데 propType이 잘못된 건가요? 다른 변수들은 propTypes.string, propTypes. object였는데 잘나왔어요

  • javascript
  • react
learn 댓글 1 좋아요 0 조회수 206

Folium popup 한글깨짐

미해결

공공데이터로 파이썬 데이터 분석 시작하기

구글링해도 잘 안나오네요 ㅠ

  • python
  • numpy
  • pandas
준미 댓글 1 좋아요 1 조회수 219

인기 태그

인프런 TOP Writers

주간 인기글