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

Cara menggunakan Relation::morphMap() untuk kelas yang berbeda

Mari kita mulai dengan mendefinisikan relasi polimorfik

Hubungan pertama....

Package.php

public function provider() {
  return $this->morphTo(null, 'map_type_id', 'map_id');
}

Venue.php

public function packages() {
  // you should provide the relation name, in our exemple its called `provider` as a second parameter
  return $this->morphMany(VendorPackage::class, 'provider', 'venues');
}

Vendor.php

public function packages() {
  // you should provide the relation name, in our exemple its called `provider` as a second parameter
  return $this->morphMany(VendorPackage::class, 'provider', 'vendors');
}

Hubungan Kedua

TicketBooking.php

public function provider() {
  return $this->morphTo(null, 'map_type_id', 'map_id');
}

Venue.php

public function bookings() { 
  return $this->morphMany(TicketBooking::class, 'provider', 'venues');
}

Decors.php

public function bookings() {
  return $this->morphMany(TicketBooking::class, 'provider', 'decors');
}

dan daftarkan Relation::morphMap sebagai

Relation::morphMap([
  'vendors' => \Vendor::class,
  'venues' =>  \Venue::class,
  'decors' =>  \Decor::class
]);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan cap tanggal dan waktu ke INSERT melalui PHP dengan mySQL?

  2. MySQL LIKE %string% tidak cukup memaafkan. Ada lagi yang bisa saya gunakan?

  3. lower_case_table_names=1 di Ubuntu 18.04 tidak membiarkan mysql memulai

  4. Menggunakan elasticsearch-river-mysql untuk mengalirkan data dari database MySQL ke Elasticsearch

  5. Batasan Kunci Asing MySQL - Kolom Integer