0
我正在使用Propel開發一個系統,用戶可以在這個系統中開發自己的模式,所以我在看一些「邊緣案例」。我遇到了一個我認爲Propel應該禁止的模式,但似乎確實如此。任何人都可以爲此提出一個用例嗎?Propel中不完整的關鍵引用是否有用?
<?xml version="1.0" encoding="UTF-8"?>
<database name="test" defaultIdMethod="native">
<table name="test_event">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
<column name="name" type="varchar" size="50" required="true" />
<column name="description" type="varchar" size="250" />
<column name="location" type="varchar" size="250" />
<column name="nearest_city" type="varchar" size="100" />
<column name="organiser_id" type="integer" required="true" />
<!-- This FK is incomplete -->
<foreign-key foreignTable="test_organiser">
<reference local="organiser_id" foreign="id" />
</foreign-key>
</table>
<table name="test_organiser">
<!-- Has composite PK -->
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
<column name="secondary" type="integer" required="true" primaryKey="true" />
<column name="name" type="varchar" size="50" required="true" />
<column name="email" type="varchar" size="100" />
</table>
</database>
正如您所看到的,事件表具有對組織器表的不完整外部引用。我以爲Propel會在構建時檢測到它並將它踢出去 - 但顯然不是!我看不出爲什麼這會有用 - BaseTestEvent
中的setTestOrganiser
和getTestOrganiser
方法僅涉及組合PK的一部分(因爲當然,事件方只知道organiser_id部分)。
Propel 1.6.1,PHP 5.2.17。
謝謝Marc,感謝。我本人自己創造了一張票,但首先要檢查。 – halfer
嗨馬克,快速脫離主題。 Propel2目前的狀態如何?今年我看到了一個相當常見的提交流,所以我認爲人們正在使用它,並且已經發現它已經很有用。可能會出現另一個alpha或beta版嗎? – halfer
@halfer是另一個版本可能是一個好主意,因爲許多人使用它。不幸的是目前較少的時間:( –