(Przepraszam za moje niespójne pytanie: próbowałem odpowiedzieć na kilka pytań podczas pisania tego posta, ale oto jest :)
Próbuję utworzyć model bazy danych z relacją wiele-do-wielu wewnątrz tabeli linków, ale która ma również wartość na łącze, w tym przypadku tabela zapasów. (to jest podstawowy przykład na więcej problemów, które mam, ale pomyślałem, że po prostu go przetestuję, zanim będę kontynuował).
Użyłem exportmwb do wygenerowania dwóch Entities Store i Product dla tego prostego przykładu, oba są wyświetlane poniżej.
Jednak teraz problem polega na tym, że nie mogę dowiedzieć się, jak uzyskać dostęp do wartości stock.amount (ze znakiem int, ponieważ może być ujemna) za pomocą Doctrine. Również, gdy próbuję tworzyć tabele za pomocą orm: schema-tool: create function
Dało to tylko dwie jednostki i trzy tabele, jedną jako tabelę łączącą bez wartości i dwie tabele danych, ponieważ relacje wiele do wielu same w sobie nie są jednostkami, więc mogę mieć tylko Produkt i Sklep jako jednostkę.
Logicznie rzecz biorąc, spróbowałem zmienić mój model bazy danych, aby zapasy były oddzielną tabelą z relacjami do przechowywania i produktu. Przepisałem również nazwy pól, aby móc wykluczyć to jako źródło problemu:
Wtedy odkryłem, że nadal nie otrzymałem jednostki Stock ... a sama baza danych nie miała pola „kwota”.
Naprawdę potrzebowałem być w stanie połączyć te sklepy i produkty razem w tabeli zapasów (między innymi) ... więc samo dodanie zapasów do samego produktu nie wchodzi w grę.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
A kiedy tworzę bazę danych, nadal nie daje mi ona odpowiednich pól w tabeli giełdowej:
Patrząc więc tutaj na niektóre rzeczy, odkryłem, że połączenia wiele do wielu nie są bytami i dlatego nie mogą mieć wartości. Więc spróbowałem zmienić to na osobną tabelę z relacjami do innych, ale nadal nie działało.
Co ja tu robię źle?