(Xin lỗi vì câu hỏi không mạch lạc của tôi: Tôi đã cố gắng trả lời một số câu hỏi khi viết bài này, nhưng đây rồi :)
Tôi đang cố gắng tạo một mô hình cơ sở dữ liệu với mối quan hệ nhiều-nhiều bên trong một bảng liên kết, nhưng cũng có một giá trị trên mỗi liên kết, trong trường hợp này là một bảng lưu kho. (đây là một ví dụ cơ bản cho nhiều vấn đề khác mà tôi đang gặp phải, nhưng tôi nghĩ tôi chỉ cần kiểm tra nó với điều này trước khi tiếp tục).
Tôi đã sử dụng exportmwb để tạo hai Entities Store và Product cho ví dụ đơn giản này, cả hai đều được hiển thị bên dưới.
Tuy nhiên, vấn đề bây giờ là tôi không thể tìm ra cách truy cập giá trị stock.amount (int có dấu, vì nó có thể là số âm) bằng Doctrine. Ngoài ra, khi tôi cố gắng tạo các bảng bằng hàm orm: schema-tool: create của học thuyết
Điều này chỉ mang lại hai Thực thể và ba bảng, một dưới dạng bảng liên kết không có giá trị và hai bảng dữ liệu, vì bản thân mối quan hệ nhiều-nhiều không phải là thực thể nên tôi chỉ có thể có Sản phẩm và Cửa hàng dưới dạng thực thể.
Vì vậy, về mặt logic, tôi đã thử thay đổi mô hình cơ sở dữ liệu của mình để có kho dưới dạng một bảng riêng biệt với các mối quan hệ để lưu trữ và sản phẩm. Tôi cũng đã viết lại các tên trường chỉ để có thể loại trừ nó như một nguồn của vấn đề:
Sau đó, những gì tôi phát hiện ra là tôi vẫn không nhận được thực thể Cổ phiếu ... và bản thân cơ sở dữ liệu không có trường 'số tiền'.
Tôi thực sự cần có thể liên kết các cửa hàng và sản phẩm này lại với nhau trong một bảng kho (trong số những thứ khác) ... vì vậy chỉ thêm hàng vào chính sản phẩm không phải là một lựa chọn.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
Và khi tôi tạo cơ sở dữ liệu, nó vẫn không cung cấp cho tôi các trường phù hợp trong bảng stock:
Vì vậy, khi tra cứu một số thứ ở đây, tôi phát hiện ra rằng kết nối nhiều-nhiều không phải là thực thể và do đó không thể có giá trị. Vì vậy, tôi đã thử thay đổi nó thành một bảng riêng biệt với các mối quan hệ với những người khác, nhưng nó vẫn không hoạt động.
Tôi làm gì sai ở đây?