Ini adalah pertanyaan yang saya buat sendiri ketika menghadapi proyek baru, Koleksi Bidang vs Referensi Entitas + entitas kustom atau jika strukturnya sederhana, Koleksi Lapangan vs bidang khusus dengan beberapa kolom db / Multifield . Inilah pendapat saya berdasarkan pengalaman saya .
Multifield adalah konsep yang hebat, itu akan menjadi versi "ringan" dari kumpulan bidang, alih-alih membuat struktur entitas dengan hubungan, itu mencakup kasus penggunaan sederhana tanpa membuat entitas. Ini memiliki sejumlah masalah , meskipun, seperti integrasi Fitur tidak lengkap, tidak benar-benar multibahasa dll (jadi jika Anda berencana untuk menggunakan ini, kontribusi mungkin akan sangat diterima).
Field Collection adalah solusi hebat jika Anda melakukan situs yang dapat dilakukan hanya dengan beberapa penyesuaian di sana-sini, ini memberi pembangun situs alat yang ampuh untuk membuat struktur yang kompleks tanpa terlalu mengkhawatirkan internal. Pada dasarnya ia akan membuat entitas yang berhubungan dengan entitas "host" oleh id, memungkinkan untuk menambahkan bidang ke dalamnya dan semuanya. Kerugian akan datang dalam pengetahuan internal koleksi Lapangan yang Anda butuhkan untuk melakukan operasi kompleks seperti mengelola Koleksi Lapangan dengan Referensi Entitas di atasnya, atau memigrasi data. Karena ini adalah alat generik, itu akan cukup rumit untuk melangkah lebih jauh.
Pilihan lain yang Anda miliki di sana adalah menggunakan ECK dengan Referensi Entitas, tetapi pengalaman saya dengan ini telah menjadi bencana sejauh ini, saya merasa jauh lebih mudah untuk membuat jenis entitas dengan kode tanpa bantuan.
Ini masalah apa yang Anda butuhkan dan apa yang paling cocok untuk proyek Anda, jika Anda punya waktu dan pengembang untuk membuat tipe entitas yang berhubungan dengan model data Anda melalui Entity Reference, Anda akan memiliki kontrol lebih besar atas apa yang terjadi dengan struktur data Anda, tetapi Anda juga "bertanggung jawab" untuk itu.
Setelah menguji beberapa saat dengan semua solusi yang dijelaskan di atas, di tim saya kami selalu mencari tipe entitas + ER, tapi saya bisa melihat bahwa untuk proyek-proyek kecil, tanpa migrasi data atau pengaturan i18n yang rumit, Field Collection hanyalah cara tercepat untuk Pergilah.