我想知道这两个词是什么意思。
我在Doctrine's documentation遇到过他们,但我无法理解他们的意思。
答案 0 :(得分:44)
这与通用(在应用程序域内)是否会试图从另一方访问关系的两个方面有关...产品的发票可能是单向的,因为我们经常想知道什么产品在发票上,您不太可能想知道包含给定产品的所有发票。
另一方面,产品的商店是双向的,因为我们很容易想要访问特定商店的所有产品,或找到销售特定产品的所有商店。
双向不限于关系是多对多关系的地方。如果在我们的域模型中,员工对象需要能够访问员工的主管对象,那么员工与主管之间的关系可以轻松实现双向,当然,主管对象包含列出其所有指定员工的属性。
一对多双向: 州和城市,国家有城市的收集财产,城市有国家财产
多对多单向: 巴士和骑手,巴士有Riders的收集属性,但Rider没有收集属性列出所有Bus Rider已经乘坐(应用程序不关心)。
多对多双向:
人类,每个人都有朋友财产,作为此人与朋友同在的其他人物的集合;
或...
艺术家和专辑课程,其中艺术家有专辑集合,专辑有艺术家集合(专辑是多个艺术家的曲目汇编)
答案 1 :(得分:2)
我们在数据库中有两个表:Student
表,Subject
表
您需要从以下两个方向应用数据库中的导航:
Student
导航到Subject
学生可以在本学期注册许多科目。
Subject
导航到Student
主题可以有许多不同的学生注册。
您需要从刚刚one
方向应用数据库中的导航:
Student
导航到Subject
学生可以在本学期注册许多科目。