(ขออภัยสำหรับคำถามที่ไม่ต่อเนื่องกัน: ฉันพยายามตอบคำถามในขณะที่เขียนโพสต์นี้ แต่นี่คือ :)
ฉันกำลังพยายามสร้างแบบจำลองฐานข้อมูลที่มีความสัมพันธ์แบบกลุ่มต่อกลุ่มภายในตารางลิงก์ แต่ก็มีค่าต่อลิงก์เช่นกันในกรณีนี้คือตารางเก็บสต็อค (นี่เป็นตัวอย่างพื้นฐานสำหรับปัญหาอื่น ๆ ที่ฉันประสบ แต่ฉันคิดว่าจะทดสอบกับสิ่งนี้ก่อนที่จะดำเนินการต่อ)
ฉันใช้exportmwbเพื่อสร้าง Entities Store และ Product สองรายการสำหรับตัวอย่างง่ายๆนี้ทั้งสองอย่างจะแสดงด้านล่าง
อย่างไรก็ตามปัญหาตอนนี้คือฉันไม่สามารถหาวิธีเข้าถึงค่า stock.amount (ลงนาม int เนื่องจากอาจเป็นค่าลบ) โดยใช้ Doctrine นอกจากนี้เมื่อฉันพยายามสร้างตารางโดยใช้ orm ของหลักคำสอน: schema-tool: create function
สิ่งนี้ให้ผลลัพธ์เพียงสองเอนทิตีและสามตารางหนึ่งเป็นตารางลิงก์ที่ไม่มีค่าและตารางข้อมูลสองตารางเนื่องจากความสัมพันธ์แบบกลุ่มต่อกลุ่มไม่ใช่เอนทิตีในตัวเองดังนั้นฉันจึงมีได้เฉพาะผลิตภัณฑ์และร้านค้าเป็นเอนทิตี
ด้วยเหตุนี้ฉันจึงลองเปลี่ยนโมเดลฐานข้อมูลของฉันให้มีสต็อกเป็นตารางแยกต่างหากที่มีความสัมพันธ์กับการจัดเก็บและผลิตภัณฑ์ ฉันยังเขียนชื่อเขตข้อมูลใหม่เพื่อให้สามารถยกเว้นว่าเป็นที่มาของปัญหา:
จากนั้นสิ่งที่ฉันพบก็คือฉันยังไม่ได้รับ Stock entity ... และฐานข้อมูลเองก็ไม่มีฟิลด์ 'amount'
ฉันต้องการที่จะผูกร้านค้าและสินค้าเหล่านี้เข้าด้วยกันในตารางสต็อค (เหนือสิ่งอื่นใด) ...
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
และเมื่อฉันสร้างฐานข้อมูลก็ยังไม่ได้ให้ฟิลด์ที่ถูกต้องในตารางหุ้น:
ดังนั้นเมื่อค้นหาบางสิ่งที่นี่ฉันพบว่าการเชื่อมต่อแบบกลุ่มต่อกลุ่มไม่ใช่เอนทิตีดังนั้นจึงไม่มีค่า ฉันจึงลองเปลี่ยนเป็นตารางแยกต่างหากที่มีความสัมพันธ์กับคนอื่น ๆ แต่ก็ยังไม่ได้ผล
ฉันทำอะไรผิดที่นี่?