inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

게시글 불러오기

질문있습니다.

242

원피스를 찾아서

작성한 질문수 77

0

안녕하세요.

const oneUser = await User.findOne({
  where: {id: data}
});

await oneUser.addLikers(req.body) 

이런식으로 할려고 하는데 oneUser.addLikers not a function 이라는 알람이 뜨는데 무엇이 문제일까요?

nodejs redux react express Next.js

답변 6

0

원피스를 찾아서

꺄오

0

원피스를 찾아서

뭘해서 된건지는 모르겠지만 됐네요 ㅜㅜ 제로초님의 힘인가봅니다.

은혜잊지 않겠습니다.

0

원피스를 찾아서

cannot read property 'addLikers' of null 동일하게 에러가 발생합니다.

//수정
  static associate(db) {    db.Post.belongsToMany(db.User, { through: 'Like', as: 'Likers',onDelete: 'cascade' }) //   }

몇시간동안 보고있는데 어떤걸 봐야할지도 모르겠습니다.

애초에 테이블생성될때 잘못된건지...

어떨때 저 에러가 나는지 말씀해주시면 거기 위주로 한번보겠습니다.!!

0

제로초(조현영)

as: 'Liker'로 하셨는데 as: 'Likers'로 바꿔보세요.

0

원피스를 찾아서

// post .js

const DataTypes = require('sequelize');
const { Model } = DataTypes;

module.exports = class Post extends Model {
  static init(sequelize) {
    return super.init({
      // id가 기본적으로 들어있다.
      content: {
        type: DataTypes.TEXT,
        allowNull: false,
      },
      // RetweetId
    }, {
      modelName: 'Post',
      tableName: 'posts',
      charset: 'utf8mb4',
      collate: 'utf8mb4_general_ci', // 이모티콘 저장
      sequelize,
    });
  }
  static associate(db) {
    db.Post.belongsToMany(db.User, { through: 'Like', as: 'Liker',onDelete: 'cascade' }) // post.addLikers, post.removeLikers
  }
};

//. user.js

const DataTypes = require('sequelize');
const { Model } = DataTypes;

module.exports = class User extends Model {
  static init(sequelize) {
    return super.init({
      // id가 기본적으로 들어있다.
      username:{
        type: DataTypes.STRING(30),
        allowNull: false,
      },
      nickname: {
        type: DataTypes.STRING(30),
      },
      email: {
        type: DataTypes.STRING(60), //
        allowNull: false, // 필수
        unique: true, // 고유한 값
      },
      password: {
        type: DataTypes.STRING(200),
      },
      avatar: {
        type: DataTypes.TEXT,
      },
      snsId: {
        type: DataTypes.STRING(60)
      },
      provider: {
        type: DataTypes.STRING(60)
      }
    }, 
   
    {
      modelName: 'User',
      tableName: 'users',
      charset: 'utf8',
      collate: 'utf8_general_ci', // 한글 저장
      sequelize,
    });
  }
  static associate(db) {
    db.User.belongsToMany(db.Post, {through: 'Like', as:"Liked", onDelete: 'cascade'});
  }
};

// index.js

'use strict';
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.js')[env];
const user = require('./user');
const post = require('./post');
const db = {};
let sequelize;
if (config.use_env_variable) {
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}
// fs
//   .readdirSync(__dirname)
//   .filter(file => {
//     return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
//   })
//   .forEach(file => {
//     const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
//     db[model.name] = model;
//   });
db.User = user;
db.Post = post;


Object.keys(db).forEach(modelName => {
  db[modelName].init(sequelize);
});
Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;

// routes xxx.js
// 연습으로 하는거라 양해부탁해요!!
 Post.findOne({
        where: { content: 1 }
      })
        .then((res) => {
          res.addLikers(2)
        }) // error

0

제로초(조현영)

먼저 addLiker로 한 번 바꿔보시고요. 그래도 안 된다면 models/user.js 코드에 문제가 있을 확률이 높습니다. models/index.js랑 models/user.js 올려주시면 됩니다.

넥스트 버젼 질문

0

77

2

로그인시 401 Unauthorized 오류가 뜹니다

0

89

1

무한 스크롤 중 스크롤 튐 현상

0

175

1

특정 페이지 접근을 막고 싶을 때

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

인라인 스타일 리렌더링 관련

0

91

2

vsc 에서 npm init 설치시 오류

0

146

2

nextjs 15버전 사용 가능할까요?

0

158

1

화면 새로고침 문의

0

121

1

RTK에서 draft, state 차이가 있나요?

0

153

2

Next 14 사용해도 될까요?

0

452

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

349

1

url 오류 질문있습니다

0

211

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

372

1

sudo certbot --nginx 에러

0

1274

2

Minified React error 콘솔에러 (hydrate)

0

470

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

247

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

327

1

npm run build 에러

0

518

1

front 서버 npm run build 중에 발생한 에러들

0

381

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

338

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

287

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

237

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

201

1