我最近从我的学校得到了一份作业,我必须为ORM创建一个Propel Schema。 这不是一个真正的问题,但其中一个要求是将这些表中的两个与多对多关系连接起来。
通常情况下,您可以使用crosstable(保存两个表中的属性),但我们的老师说这也是可能的,没有这样的交叉(甚至是一个要求)。
如何在Propel中创建这样的人?
问题中的ERD:
(我被困在VIP< - > Einladung)
到目前为止,我有这个:
<?xml version="1.0" encoding="UTF-8"?>
<database name="orm1" defaultIdMethod="native">
<table name="einladung" phpName="Einladung">
<column name="nummer" type="INTEGER" primaryKey="true" autoIncrement="true" />
<column name="fbuffet" type="BOOLEAN" />
<column name="splatz" type="INTEGER" />
</table>
<table name="sorganisation" phpName="SpendenOrganisation">
<column name="name" type="VARCHAR" size="255" primaryKey="true" required="true" />
<column name="adresse" type="VARCHAR" size="255" />
</table>
<table name="wveranstaltung" phpName="WVeranstaltung">
<column name="titel" type="VARCHAR" size="255" primaryKey="true" required="true" />
<column name="datum" type="DATE" required="true" />
<column name="ort" type="VARCHAR" size="255"/>
</table>
<table name="vip" phpName="Vip">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" />
<column name="vname" type="VARCHAR" size="255" required="true" />
<column name="nname" type="VARCHAR" size="255" required="true" />
</table>
</database>
任何人都有线索?
答案 0 :(得分:0)
如果没有交叉表,则无法创建m-to-m关系。
我猜你的VIP -> Einladung
关系是错误的。它应该是一对一的关系。