Symfony2:包含来自另一个bundle的实体模型导致Doctrine错误

时间:2015-07-26 19:36:56

标签: php symfony doctrine-orm doctrine

我在这里问,因为我在谷歌上找不到如何解决这个问题,也许有经验丰富的人已经知道解决方案。

正如我在Google上看到的那样,有很多人遇到同样的问题(很多网页索引包含此SF2错误)

所以我尝试添加我的控制器"使用"来自另一个bundle的实体,但我得到了PHP错误:

Fatal error: Interface 'Persistent' not found in ~/vendor/symfony/symfony/src/Symfony/Bridge/Propel1/Tests/Fixtures/Item.php on line 17

当我将另一个包中的实体包含在"使用"时,我做错了什么?

use FOOBAR\InvoiceBundle\Entity\Invoice;
use FOOBAR\InvoiceBundle\Entity\Quote;
use FOOBAR\InvoiceBundle\Entity\Item;

class MembershipController extends BaseController          {
    /* do stuff */
}

当我在同一个实体组中使用那些实体时,不会发生这个问题..非常奇怪。

非常感谢你,祝你有个美好的一天!

1 个答案:

答案 0 :(得分:0)

对我感到羞耻,我在多次“使用”时犯了一个错误,但无论如何,我认为这个解决方案可以帮助一些人。

use FOOBAR\InvoiceBundle\Entity\Invoice;
use FOOBAR\InvoiceBundle\Entity\Quote;
use FOOBAR\InvoiceBundle\Entity\Item;

在那些,我应该用“PaymentBundle”取代“InvoiceBundle”(因为InvoiceBundle甚至不存在......)

那是什么导致了这个特殊错误?稍后在我的源代码中我声明了这个:

$item = new Item;

所以关于 Propel1 / Tests / Fixtures / Item.php 的错误我认为这是因为Symfony2试图调用该类中的Item文件,因为他找不到合适的“Item”类