(Tutarsız sorum için özür dilerim: Bu yazıyı yazarken bazı soruları cevaplamaya çalıştım ama işte burada :)
Bir bağlantı tablosu içinde çoka çok ilişkisi olan, ancak aynı zamanda bağlantı başına bir değer, bu durumda bir stok tutma tablosu olan bir veritabanı modeli oluşturmaya çalışıyorum. (Bu, yaşadığım daha fazla sorun için temel bir örnek, ancak devam etmeden önce bununla test edeceğimi düşündüm).
Bu basit örnek için iki Varlık Mağazasını ve Ürünü oluşturmak için exportmwb kullandım , her ikisi de aşağıda gösterilmektedir.
Ancak şu anda sorun şu ki, Doctrine kullanarak stock.amount değerine (işaretli int, negatif olabilir) nasıl erişeceğimi çözemiyorum. Ayrıca, doktrinin orm: schema-tool: create function'ı kullanarak tabloları oluşturmaya çalıştığımda
Bu, yalnızca iki Varlık ve üç tablo verdi; biri değer içermeyen bir bağlantı tablosu ve iki veri tablosu, çünkü çoktan çoğa ilişkiler varlıklar değil, bu nedenle yalnızca Ürün ve Mağaza'ya bir varlık olarak sahip olabilirim.
Dolayısıyla, mantıksal olarak, veritabanı modelimi, depolanacak ve ürüne yönelik ilişkileri olan ayrı bir tablo olarak stok olacak şekilde değiştirmeyi denedim. Ayrıca, sorunun kaynağı olarak bunu dışlayabilmek için alan adlarını yeniden yazdım:
Sonra bulduğum şey, hala bir Stok varlığı alamadığım ve veritabanının kendisinde bir 'miktar' alanı bulunmadığıydı.
Bu mağazaları ve ürünleri bir stok tablosunda birbirine bağlayabilmem gerekiyordu (diğer şeylerin yanı sıra) ... bu nedenle, sadece ürünün kendisine stok eklemek bir seçenek değil.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
Ve veritabanını oluşturduğumda, hisse senedi tablosunda hala bana doğru alanları vermiyor:
Bu yüzden, burada bazı şeylere baktığımda, çoktan çoğa bağlantıların varlıklar olmadığını ve dolayısıyla değerlere sahip olamayacaklarını öğrendim. Bu yüzden onu diğerleriyle ilişkileri olan ayrı bir tabloya dönüştürmeyi denedim, ama yine de işe yaramadı.
Burada neyi yanlış yapıyorum?