簡體   English   中英

教義一對多沒有加入表

[英]Doctrine One To Many No Join Table

我正在使用Doctrine,我想知道如果不使用連接表,我是否可以擁有一對多的關系?

取決於您是希望它是單向還是雙向。

單向一對多只能通過連接表進行,出於“意識形態”的原因,它來自Java的休眠:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-unidirectional-with-join-table

想象一下,你有一個擁有許多產品的類別,你想要一個單向關系 - 即類別知道許多產品,但產品不了解類別。

如果將“category_id”字段放入Product表中,您將使產品表“意識到”它已連接到類別。 如果不改變Product表,你將無法刪除這種關系 - 這意味着它不是真正的單向。

但是,如果您在單獨的連接表中保持類別和產品之間的關系,您可以放棄它,而產品甚至不會注意到某些內容已發生變化。

只有m:n關系才需要連接表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM