PUGXMultiUserBundle UserManager не может создать пользовательское устройство
Я на Symfony 2.8.2. Я установил:
"friendsofsymfony/user-bundle": "~2.0@dev",
"pugx/multi-user-bundle": "~2.0@dev"
Я настроил два типа пользователей, как в документации, за исключением targetClass
аргумент в UniqueEntity
аннотация, которая, кажется, не принимается.
Сейчас я пытаюсь загрузить светильники, вот так:
<?php
namespace CompanyName\Portal\AppBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use CompanyName\Common\CommonBundle\Entity\AdminUser;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class LoadUsers extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function load(ObjectManager $manager)
{
$discriminator = $this->container->get('pugx_user.manager.user_discriminator');
$discriminator->setClass('CompanyName\Common\CommonBundle\Entity\AdminUser');
$userManager = $this->container->get('pugx_user_manager');
$user = new $userManager->createUser();
$user->setUsername("admin");
$user->setPlainPassword("test");
$user->setEmail('email@example.com');
$user->setFirstName('John');
$user->setSurname('Smith');
$user->setRoles(array('ROLE_ADMIN', 'ROLE_SONATA_ADMIN'));
$user->setEnabled(true);
$userManager->updateUser($user);
}
public function getOrder()
{
return 3;
}
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
}
Но когда я doctrine:fixtures:load
, Я получил:
[Symfony\Component\Debug\Exception\ContextErrorException]
Notice: Undefined property: PUGX\MultiUserBundle\Doctrine\UserManager::$createUser
Можете ли вы объяснить это мне? Я проверил класс UserManager, у него есть функция createUser.