मैं कुछ उपयोगकर्ताओं को DoctrineFixturesBundle का उपयोग करके परीक्षण के लिए अपने डेटाबेस में लोड करने का प्रयास कर रहा हूं। मैंने स्टैक ओवरफ्लो पर यहां बहुत कुछ खोजा है और मुझे अन्य मुद्दों के बारे में बहुत कुछ मिला है। ऐसा लगता है कि मेरे पास कोई जवाब नहीं है। मैं अपने उपयोगकर्ताओं को एफओएस उपयोगकर्ता प्रबंधक का उपयोग करने में लोड कर रहा हूं। नीचे मेरी स्थिरता वर्ग है।FOSUserBundle DoctrineFixtures में नमक सेट नहीं कर रहा है
namespace Kandidly\UserBundle\DataFixtures;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class LoadUserData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface
{
private $container;
/**
* {@inheritDoc}
*/
public function load(ObjectManager $manager)
{
$userManager = $this->container->get('fos_user.user_manager');
$user1 = $userManager->createUser();
$user1->setFirstName('Admin');
$user1->setLastName('User');
$user1->setCity('Somewhere');
$user1->setState('TN');
$user1->setUsername('admin');
$user1->setEmail('[email protected]');
$user1->setPlainPassword('admin');
$user1->setEnabled(true);
$user1->setRoles(
array(
'ROLE_ADMIN'
)
);
$user2 = $userManager->createUser();
$user2->setFirstName('Normal');
$user2->setLastName('User');
$user2->setCity('Another');
$user2->setState('CA');
$user2->setUsername('user');
$user2->setEmail('[email protected]');
$user2->setPlainPassword('user');
$user2->setEnabled(true);
$user2->setRoles(
array(
'ROLE_USER'
)
);
$userManager->updateUser($user1);
$userManager->updateUser($user2);
$this->addReference('admin-user', $user1);
}
/**
* Get the order of this fixture
*
* @return integer
*/
function getOrder()
{
return 1;
}
/**
* Sets the Container.
*
* @param ContainerInterface|null $container A ContainerInterface instance or null
*
* @api
*/
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
}
हालांकि, जब मैं फिक्स्चर चलाता हूं, मुझे एक त्रुटि मिलती है जो कहता है कि नमक सेट नहीं किया जा रहा है। क्या कोई मदद कर सकता है?
नमक अमूर्त 'FOS \ UserBundle \ Model \ User' के निर्माता में सेट हो जाता है। क्या आप उस वर्ग को विस्तारित कर रहे हैं लेकिन अपने कन्स्ट्रक्टर में अपने कन्स्ट्रक्टर को नहीं बुला रहे हैं? – Ryan