Làm cách nào để thiết lập bảng nối kết với các cột bổ sung hoặc liên kết nhiều thành phần với các thuộc tính bổ sung, trong Doctrine 2?Học thuyết 2: Cách xử lý các bảng nối với các cột phụ
Trả lời
Trước hết, hãy để tôi giải thích rằng điều này không tồn tại:
Một tham gia bảng (còn được gọi là một bảng ngã ba hoặc tham chiếu chéo bảng) là một bảng liên kết 2 (hoặc nhiều hơn) các bảng khác cùng nhau trong cùng một cơ sở dữ liệu bằng khóa chính. Điều này có nghĩa là bảng nối sẽ chỉ chứa khóa ngoài, không có chỗ cho các cột bổ sung này.
Vì vậy, khi bạn cần thêm cột trong bảng như vậy, nó không còn chỉ là "liên kết" giữa các bảng khác, nhưng tự nó trở thành một bảng thực!
Trong điều khoản của Doctrine 2, bạn không còn có liên kết nhiều-nhiều giữa 2 thực thể, nhưng nhận được liên kết một-nhiều/nhiều-một giữa 3 thực thể.
Tiếp tục đọc vào đây để biết thêm chi tiết giải thích:
Những Liên kết bị hỏng, bất cứ ai có thể cập nhật chúng? –
Liên kết được cập nhật! (Định dạng có thể hơi lệch, sẽ được khắc phục càng sớm càng tốt) –
Cảm ơn Rất nhiều vì đã cập nhật các liên kết! –
Trong bài viết thứ hai, tôi đề nghị một bản cập nhật nhỏ. Thay vì các sự kiện đầy đủ, sử dụng một LifecycleCallback trong thực thể chính nó:
/**
* @ORM\Entity
* @ORM\Table(name="jobs”)
* @ORM\HasLifecycleCallbacks
*/
class Job
{
// ...
/**
* @ORM\PreRemove
*/
public function preRemoveCallback()
{
$this->setPerson(null);
$this->setCompany(null);
}
}
- 1. Học thuyết 2 tham gia bảng + các trường phụ
- 2. Học thuyết 2 với nhiều chỉ mục
- 3. Đặt LIMIT với học thuyết 2?
- 4. thuyết 2 - Không Metadata Lớp học để xử lý bởi orm: generate-kho
- 5. Học thuyết 2 - Bảng thừa kế, chọn theo loại
- 6. Học thuyết 2 ManyToOne với nhiều tham giaColumns
- 7. Học thuyết 2 xóa với trình tạo truy vấn
- 8. Lấy id chèn cuối cùng với học thuyết 2?
- 9. Học thuyết 2. Tự động tạo proxy
- 10. Sắp xếp theo nhiều cột với Học thuyết
- 11. Symfony2 Chọn một cột trong học thuyết
- 12. cách kiểm tra kết nối hoạt động trong học thuyết 2?
- 13. xử lý và các lớp học với không gian
- 14. Tạo các mẫu ZF 2 từ các thực thể học thuyết
- 15. Học thuyết 2 - 2 chữ số thập phân trên phao?
- 16. Học thuyết 2: Đếm các mục bằng cách nhập vào Chọn
- 17. Cập nhật nhiều cột với Học thuyết trong Symfony
- 18. Cách bật enums trong Symfony 2/Học thuyết
- 19. Làm thế nào để cấu hình các phần mở rộng học thuyết trong Zend Framework 2?
- 20. thuyết 2, Native Query
- 21. Socket.io: Cách xử lý các kết nối đóng?
- 22. Cách xử lý Cột '<ColumnName>' không thuộc bảng
- 23. Học thuyết 2 - Các vấn đề về mức truy cập khi sử dụng Thừa kế bảng lớp
- 24. Học thuyết 2 nhận tên lớp thực của lớp proxy
- 25. Chiến lược xử lý các bảng db lớn
- 26. Xử lý các phụ thuộc vòng tròn trong OCaml
- 27. Học thuyết 2 WHERE IN khoản sử dụng tập hợp các thực thể
- 28. Đặt Lý thuyết Liên kết các mảng trong PHP
- 29. Xử lý các sự kiện vuốt trong Sencha Touch 2
- 30. Học thuyết tự động tạo tất cả các bảng cơ sở dữ liệu?
@ThatBlairGuy tôi nhận thấy bạn đang loại bỏ rất nhiều các [tag: thêm] thẻ. Chỉnh sửa này là đầy đủ, nhưng hãy đảm bảo _fix tất cả các khía cạnh của bài đăng ngoài việc xóa thẻ. Để biết thêm, hãy đọc [thảo luận meta] này (https://meta.stackoverflow.com/questions/314488/how-to-deal-with-serial-tag-only-edits-from-sub-2k-users) – ryanyuyu