我刚刚遇到了类似的问题。尽管您的问题没有提到您是否有多个外键指向同一个外部表,但我怀疑这就是问题所在。
我有:
<foreign-key foreignTable="dish" phpName="Dish" refPhpName="Menu">
<reference local="soup_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="dish" phpName="Dish" refPhpName="Menu">
<reference local="main_id" foreign="id"/>
</foreign-key>
我收到了这个错误信息:
PHP 致命错误:无法重新声明 BaseMenuQuery::filterByDish()
然后我更改了 phpName 和 refPhpName 属性(需要后者,因为 Propel 将在外部表类中生成 filterBySomething() 函数,所以在我的例子中,有多个 filterByMenu() 函数名):
<foreign-key foreignTable="dish" phpName="soupDish" refPhpName="sMenu">
<reference local="soup_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="dish" phpName="mainDish" refPhpName="mMenu">
<reference local="main_id" foreign="id"/>
</foreign-key>
所以我猜你有多个外键引用 HrlibQualification 表。
我希望这会有所帮助。