编程语言
首页 > 编程语言> > php – 推进类重建后“基础查询”中的多个函数声明

php – 推进类重建后“基础查询”中的多个函数声明

作者:互联网

我修改了我的db和一些fk关系.在重建模式和重建类之后,我在尝试使用该类时收到错误消息

Fatal error: Cannot redeclare BaseHrlibQualificationLevelQuery::filterByHrlibQualification() in C:\wamp\www\cbm_hr\trunk\cbm\plugins\cbmHrLibPlugin\lib\model\om\BaseHrlibQualificationLevelQuery.php on line 717

我检查了架构,但同一个表中没有多列.

还有什么其他东西可以导致函数的多个声明?

解决方法:

我刚遇到类似的问题.虽然你的问题没有提到你是否有多个外键到同一个外表,但我怀疑这是问题所在.

我有:

<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 Fatal error: Cannot redeclare 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表有多个引用.

我希望有所帮助.

标签:symfony-1-4,propel,php
来源: https://codeday.me/bug/20190901/1785026.html