Bulat
mengimplementasikan ekstensi Doctrine saat kami berada di OpenSky untuk menangani referensi antara dokumen MongoDB dan catatan MySQL, yang saat ini ada di (diakui sudah ketinggalan zaman) garpu
dari DoctrineExtensions
proyek. Anda akan ingin melihat orm2odm_references
atau openskyfork
ranting. Agar ini dapat digunakan dalam proyek Anda, Anda mungkin ingin memindahkannya ke fork baru DoctrineExtensions, atau cukup memasukkan kode ke dalam aplikasi Anda. Sayangnya, tidak ada dokumentasi selain kode itu sendiri.
Untungnya, ada juga artikel buku masak di situs web Doctrine yang menjelaskan cara menerapkan ini dari awal. Pada dasarnya, Anda mengandalkan event listener untuk mengganti properti Anda dengan referensi (yaitu objek Proxy yang tidak diinisialisasi) dari manajer objek lain dan perilaku alami objek Proxy yang malas memuat sendiri akan mengurus sisanya. Asalkan event listener adalah sebuah layanan, Anda dapat dengan mudah memasukkan pengelola objek ORM dan ODM ke dalamnya.
Satu-satunya integritas yang dijamin oleh model ini adalah Anda akan menerima pengecualian saat mencoba menghidrasi referensi yang buruk, yang mungkin lebih dari yang Anda dapatkan hanya dengan menyimpan ID database lain dan melakukan kueri secara manual.