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

Menggunakan hubungan polimorfik Eloquent untuk mengkategorikan data di Laravel

Nah, database dan definisi model Anda terlihat bagus, serta kode Anda untuk menambahkan kategori ke artikel. Namun, kode Anda untuk menambahkan artikel ke kategori sedikit salah.

Pertama, tidak ada $category->articles() metode. Untuk mengakses objek terkait, Anda menggunakan hubungan yang ditentukan:$category->categorizable() . Juga, atribut hubungan, $category->categorizable akan berisi objek terkait yang dimuat, dan secara otomatis akan menjadi Article atau Service objek, tergantung pada apa yang terkait.

Kedua, ini adalah morphTo() sisi hubungan; itu berperilaku seperti belongsTo() , dan memiliki metode yang serupa. Misalnya, tidak ada save() metode, tetapi Anda memiliki associate() metode. Artinya, Anda harus membuat artikel terlebih dahulu, lalu mengaitkannya dengan kategori. Juga, associate() tidak menyimpan secara otomatis, jadi Anda juga perlu memanggilnya.

$article = new App\Article();
$article->title = 'This is an article title.';
$article->save();

$category = App\Category::find(1);
$category->categorizable()->associate($article);
$category->save();

// showing use of relationship attribute
$related = $category->categorizable;
echo get_class($related);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. enkode base64 di MySQL

  2. Tambahkan sumber data SQL saya di VIsual Studio express 2013

  3. Bagaimana cara menghasilkan tampilan pohon dari kumpulan hasil ini berdasarkan Algoritma Traversal Pohon?

  4. KIRI GABUNG hanya baris pertama

  5. Jarak dalam meter antara dua Titik Spasial dalam kueri MySQL