sequlize 관계 쿼리에서 get**, add** 등 추가로 사용할 수 있는 함수들이 not a function이 뜹니다.
291
작성한 질문수 7
강의를 통해 짜고 있는 프로젝트에 content와 content_category를 있는 구조라 N:M 구조로 짜고 있습니다.
강의에서 hashTag와 post와 같이 N:M 구조로 belongsToMany의 구조로 되어 있습니다.
그래서 content 모델에는 다음과 같이 되어 있고
content_category에서는
다음과 같이 연결되어 있습니다.
하지만, 아래와 같이 belongsToMany 등 관계 커리에서 사용할 수 있는 get**, add** 등의 함수를 사용하고자 했을 때,
와 같이 not is function이 뜹니다.
그래서 ContentCategorys, ContentCategories 등 바꿔봐도 똑같습니다. 왜 그런가요?
답변 2
1
as를 잘못 쓰셨습니다. 저 이름은 as 따라갑니다. getContent_idk 이런 것으로 생성되었을 겁니다. as는 키 이름이 아니라 모델의 별명입니다. 그리고 foreignKey의 대상과 반대로 작성하셔야 합니다.
0
답변 감사합니다. 그리고 말씀하신 것과 같이 변경했습니다. foreignKey는 헷갈렸던 것 같습니다.
위와 같이 변경 이후에도 죄송하지만
해당 함수가 not function이 뜹니다.
0
as도 다 지정했었고, 아래와 같이 했었습니다.
테이블도 한번 지우고 새로 생성하여 진행중입니다.
0
혹시 죄송하지만 이거 아닌가요..? 계속 not function이라고 뜨는데,,
말씀 해주신대로 as 수정 한 뒤, 테이블 한번더 새로 생성해서 진행했습니다.
0
getContentCategories() 일 수도 있습니다.
console.log(Content.getContent, Content.getContents, Content.getContentCategory, Content.getContentCategories) 해서 어떤 메서드가 있나 보세요.
0
네개 모두 undefined이 뜹니다.. 뭔가 혹시나 해서 getContentCategorys도 해봤습니다만 undefinded가 뜹니다. 혹시 셋팅을 따로 해야하는게 있나요..?
0
지금 db에 Content, ContentCategory, content_category_join 테이블 세 개 모두 있죠? 처음 서버 실행 시 content_category_join을 만드는 sql을 봐야할 것 같습니다.
0
content 와 content_category로 생성하기 위해
아래와 같이 셋팅하여
content, content_category로 생성 됐습니다.
아래가 content_category_join를 만드는 sql 입니다.
CREATE TABLE IF NOT EXISTS `content_category_join` (`created_at` DATETIME NOT NULL, `updated_at` DATETIME NOT NULL, `content_idk` INTEGER , `content_category_idk` INTEGER , PRIMARY KEY (`content_idk`, `content_category_idk`), FOREIGN KEY (`content_idk`) REFERENCES `contents` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`content_category_idk`) REFERENCES `content_category` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
0
content 와 content_category로 생성하기 위해
아래와 같이 셋팅하여
content, content_category로 생성 됐습니다.
아래가 content_category_join를 만드는 sql 입니다.
CREATE TABLE IF NOT EXISTS `content_category_join` (`created_at` DATETIME NOT NULL, `updated_at` DATETIME NOT NULL, `content_idk` INTEGER , `content_category_idk` INTEGER , PRIMARY KEY (`content_idk`, `content_category_idk`), FOREIGN KEY (`content_idk`) REFERENCES `contents` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`content_category_idk`) REFERENCES `content_category` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
0
contents 생성 sql
CREATE TABLE IF NOT EXISTS `contents` (`id` INTEGER NOT NULL auto_increment , `pd_idk` INTEGER(11) NOT NULL, `state` TINYINT NOT NULL, `img1` VARCHAR(255) NOT NULL, `img2` VARCHAR(255), `img3` VARCHAR(255), `img4` VARCHAR(255), `img5` VARCHAR(255), `img6` VARCHAR(255), `satisfaction` TINYINT NOT NULL, `review_txt1` VARCHAR(255), `review_txt2` VARCHAR(255), `review_txt3` VARCHAR(255), `review_txt4` VARCHAR(255), `review_comment` VARCHAR(500) NOT NULL, `user_id` VARCHAR(45) NOT NULL, `order_product_idk` INTEGER(11) NOT NULL, `height` INTEGER(11) NOT NULL, `size` INTEGER(11) NOT NULL, `is_size_public` TINYINT NOT NULL, `created_at` DATETIME NOT NULL, `updated_at` DATETIME NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`pd_idk`) REFERENCES `products` (`product_pk`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`order_product_idk`) REFERENCES `order_product` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
content_category 생성 sql
CREATE TABLE IF NOT EXISTS `content_category` (`id` INTEGER NOT NULL auto_increment , `name` VARCHAR(45) NOT NULL UNIQUE, `created_at` DATETIME NOT NULL, `updated_at` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
혹시나 해서 관련 table 생성 sql도 같이 공유 해드립니다.. 답변 주셔서 늘 감사드립니다.
0
https://stackoverflow.com/questions/49467654/what-methods-mixins-sequelize-adds-to-the-models-when-an-association-is-made
위 글 참고해서 어떤 메서드들이 있는지 찍어보세요.
리눅스 노드 설치시 패키지
0
162
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
908
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2286
2
a[title] 질문드립니다
0
379
1
리뉴얼 강의 및 공부 방법
0
583
1
jwt decode
0
1134
1
node.js 교과서 3판 질문드립니다
0
393
1
passport와 jwt
0
437
1
리뉴얼 강의
0
422
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
356
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
485
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
507
2
nunjucks res.render('error'); 작동을 안합니다.
0
514
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3538
1
수업자료는 어디있나요?
0
369
1
질문 있습니디
0
240
1
multer 사용시 file 외 name값은 못받나용?
0
420
1
코드 중복 부분 질문드립니다.
0
300
1
api 만드는 이유 질문드립니다.
0
290
1
Strategy의 done에 대해 질문드립니다.
0
368
1
안녕하세요 fs 권한 관련 질문드립니다
0
453
1
시퀄라이즈 연결질문...
0
503
2
res.setHeader vs res.cookie
0
1790
3





