0
假設我已經定義VendorClientLicense模式是這樣的:在學說中,'關係'具有什麼含義:'如果兩個關係是用同一個表定義的,那麼這兩個關係是如何定義的?
VendorClientLicense:
tableName: vendor_client_licenses
columns:
id:
type: integer(4)
primary: true
notnull: true
autoincrement: true
status:
type: string(255)
default: 'pending'
client_id:
type: integer(8)
notnull: true
vendor_id:
type: integer(8)
notnull: true
relations:
sfGuardUser:
class: sfGuardUser
local: client_id
foreign: id
foreignAlias: VendorClientLicenses
foreignType: many
owningSide: true
sfGuardUser:
class: sfGuardUser
local: vendor_id
foreign: id
foreignAlias: VendorClientLicenses
foreignType: many
owningSide: true
indexes:
fk_vendor_client_licenses_sf_guard_user1:
fields: [client_id]
fk_vendor_client_licenses_sf_guard_user2:
fields: [vendor_id]
options:
charset: utf8
collate: utf8_unicode_ci
如果你看到兩個關係具有相同名稱的「sfGuarduser」定義;我在mysql中發現的是,在生成的數據庫client_id沒有顯示任何關聯sfGuardUser,而vendor_id呢!如果我將其更改爲'sfGuardUser1'和'sfGuardUser2',則會顯示兩種關係!所以我認爲這最終具有重要的意義,並且不應該是相同的模型。有沒有其他的影響呢?
加上你能命名爲一個像'mysqlworkbenchdoctrineplugin'這樣自動處理情況的好架構生成器嗎?
感謝您的回答。在通過你的鏈接後,我的腦海裏出現了另一個問題。在這種情況下,「外國舞蹈」也需要有不同的定義。想想如果我使用別名:'$ user-> getVendorClientLicenses()',它將如何決定選擇哪個列作爲參考(client_id或vendor_id)! – med 2010-11-13 11:34:52
@medhad:完全......你可以根據你需要如何引用兩端關係來定義它們。 – Tom 2010-11-13 17:40:21