sql >> Database >  >> RDS >> Mysql

SequelizeJS - hasMany to hasMany op dezelfde tafel met een join-tabel

Aangezien wat u probeert te doen een zelfassociatie is, hoeft u hasMany maar één keer aan te roepen, waardoor een verbindingstabel wordt gemaakt

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

Waardoor de userHasContacts-tabel wordt gemaakt als:

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

Om gebruikers en hun contacten te vinden, kunt u het volgende doen:

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



  1. Union als subquery MySQL

  2. PHP - problemen met het associëren van resultaten en het ophalen ervan in MYSQL

  3. MySQL-stuurprogramma voor Rails in Windows 7 x64

  4. Wat is databasetesten en hoe voer je het uit?