Mysql
 sql >> база данни >  >> RDS >> Mysql

SequelizeJS - hasMany до hasMany на същата таблица с таблица за присъединяване

Тъй като това, което се опитвате да направите, е самоасоцииране, трябва само да извикате hasMany веднъж, което ще създаде съединителна таблица

User.hasMany(User, { as: 'Contacts', joinTableName: 'userHasContacts'})

Което ще създаде таблицата userHasContacts като:

CREATE TABLE IF NOT EXISTS `userHasContacts` (`userId` INTEGER , `ContactsId` INTEGER , `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`userId`,`ContactsId`)) ENGINE=InnoDB;

За да намерите потребители и техните контакти, можете да направите следното:

User.find({ where: ..., include: [{model: User, as: 'Contacts'}]})



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Изберете различни стойности от 2 колони

  2. Форматирайте числото до 2 знака след десетичната запетая

  3. PDO библиотеката по-бърза ли е от родните MySQL функции?

  4. Вземете всички новини и всички коментари

  5. Как да сравняваме дати в sqlalchemy?