我正在为我的项目创建somme fixtures(symfony 3.4),一切似乎都正确,找不到问题,我想念什么?如果有人有想法会很棒:)
use AppBundle\Entity\User;
use AppBundle\Entity\Task;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class AppFixtures extends Fixture
{
private $encoder;
public function __construct(UserPasswordEncoderInterface $encoder)
{
$this->encoder = $encoder;
}
/**
* @param ObjectManager $manager
*/
public function load(ObjectManager $manager)
{
// Create user with role ROLE_ADMIN
$user_admin = new User();
$user_admin->setUsername( 'admin' );
$user_admin->setPassword($this->encoder->encodePassword($user_admin, 'password' ));
$user_admin->setEmail( '[email protected]' );
$user_admin->setRoles( 'ROLE_ADMIN' );
$manager->persist( $user_admin );
您应该实现ContainerAwareInterface
并从容器中获取编码器,请参阅此处的答案:How to inject service into Symfony 2 Data Fixtures?