Symfony2 FOSUserBundle和组错误

时间:2012-04-13 10:29:07

标签: symfony doctrine-orm acl

我在申请

时收到错误
php app/console doctrine:schema:update --force

我从

开始收到一堆错误
PHP Fatal error:  Declaration of Tracker\MembersBundle\Entity\User::addGroup() must be 

compatible with that of FOS\UserBundle\Model\GroupableInterface::addGroup() in C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\src\Tracker\MembersBundle\Entity\User.php on line 14
PHP Stack trace:
PHP   1. {main}() C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\app\console:0
PHP   2. Symfony\Component\Console\Application->run() C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\app\console:22
PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\vendor\symfony\src\Symfony\Component\Console\Application.php:118
PHP   4. Symfony\Component\Console\Application->doRun() C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\vendor\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.php:75

我发现了User::addGroup()groups FOSUserBundle的实施......但我不知道如何最终解决它......这是我的两个实体

User Group

更新: 如果我只是从用户实体中删除addGroup(),并转到该路径 http://mysite.com/app_dev.php/group/new 我得到致命错误

 Fatal error: Declaration of FOS\UserBundle\Form\Type\GroupFormType::getDefaultOptions() must be compatible with that of Symfony\Component\Form\FormTypeInterface::getDefaultOptions() in C:\Program Files (x86)\Zend\Apache2\htdocs\mysite\vendor\bundles\FOS\UserBundle\Form\Type\GroupFormType.php on line 18

2 个答案:

答案 0 :(得分:2)

您必须在GroupableInterface类中添加User的FQCN,例如

use FOS\UserBundle\Model\GroupableInterface;

修改

你必须更新symfony。因为他们改变了getDefaultOptions的功能签名。检查here

答案 1 :(得分:1)

你应该删除:

  

供应商\ yourBundle \实体\用户;

getter setter group function coz它已经在

上声明了
  

使用FOS \ UserBundle \ Model \ User.php;

它可以是重复功能!

现在生成你的架构我希望它可以帮助你:D

相关问题