我正在尝试将Propel 1.7作为重构的一部分添加到遗留的php项目中。我已经生成了schema.xml文件,现在正在添加多对多关系。
但是,有一个表对三对多关系进行编码,因此它有三列作为主键,每个列都引用不同表中的不同id列。
基本上,网站是由国家和语言定义的概念。
ads_to_websites:
ad_id | country_id | lang_id
参考
ads->id
country->id
lang->id
这在Propel中是否受到支持?我理解如何将外键和主键添加到schema.xml,但是当我想通过表进行连接时会发生什么?我可以使用isCrossRef吗?我发现文档有点模糊。
或者我应该制作一张新桌子,以便我们
websites:
id | country_id | lang_id
参考
country->id
lang->id
和
ads_to_websites:
website_id | ad_id
参考
websites->id
ads->id
哪个可能并且我认为适合数据模型,但实现起来很麻烦(另一个项目使用相同的数据库)。
或者,像Doctrine这样的另一个ORM能做得更好吗?