假设我已经定义了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',它会自动处理这样的情况吗?
答案 0 :(得分:0)
是的,您需要以不同的方式命名。
我问过&收到同样的问题:
MySQL: Two foreign keys in one table referring to another table
我没有遇到任何问题。
关于插件,抱歉无法帮助你。