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

Beberapa tabel dengan hubungan satu ke banyak (Laravel)

Anda harus menggunakan polymorphic hubungan untuk ini. Ini memungkinkan beberapa model untuk menggunakan satu tabel.

Lihat dokumentasinya di sini

Dalam kasus khusus Anda, setiap tabel Anda akan mereferensikan noteable_id kolom dan noteable_type .

noteable_id akan berisi id dari (A/B/C) model.

The noteable_type akan berisi nama string model (A/B/C) .

(A/B/C) model sekarang akan mendapatkan atribut baru:

/**
 * (A/B/C) Model(s)
 */
public function notes()
{
    return $this->morphMany('App\Notes', 'noteable');
}

Dan note model akan memulai properti polimorfiknya terhadap nama atribut yang digunakan untuk mengidentifikasi polymorphic ids and types Anda :

/**
 * Note Model
 */
public function noteable()
{
    return $this->morphTo();
}

Sekarang Anda cukup memanggil ->noteable pada (A/B/C) model, dan semuanya berbagi 1 tabel tanpa memerlukan tabel pivot lain untuk setiap tabel.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pilih * ke outfile tidak berfungsi bahkan untuk root

  2. CakePHP:Membuat baris HABTM baru alih-alih memperbarui yang lain

  3. Re-Slaving Server Master MySQL yang Rusak dalam Pengaturan Replikasi Semisinkron

  4. Bisakah saya menjalankan loop di MySQL tanpa menggunakan prosedur/fungsi?

  5. Logstash:Tidak dapat terhubung ke Database Amazon RDS eksternal