Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SequelizeJS - hasMany to hasMany di tabel yang sama dengan tabel join

Karena apa yang Anda coba lakukan adalah asosiasi diri, Anda hanya perlu memanggil hasMany sekali, yang akan membuat tabel persimpangan

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

Yang akan membuat tabel userHasContacts sebagai:

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

Untuk menemukan pengguna dan kontak mereka, Anda dapat melakukan:

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. Penghitung pengunjung Laravel

  2. Tidak dapat menjalankan beberapa kueri MariaDB menggunakan PHP

  3. Bagaimana cara memperbarui data yang diubah ke dalam Database dengan menggunakan JTable?

  4. Php zona waktu yang berbeda

  5. Bagaimana cara mendapatkan nama kolom tabel dalam database di zend?