Предположим, я определил модель 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», который автоматически обрабатывает подобные ситуации?