在null,Symfony 4上调用成员函数encodePassword()

时间:2018-12-20 18:37:17

标签: symfony symfony4

我正在尝试使用UserPasswordEncoderInterface类将编码的密码保存到我的实体中。

class UserFixture extends Fixture
{
private $encoder;

public function _construct( UserPasswordEncoderInterface $encoder){
    $this->encoder = $encoder;
}

public function load(ObjectManager $manager)
{
    $user = new User();
    $user->setUsername('admin');
    $user->setPassword(
        $this->encoder->encodePassword($user, '0000')
    );
    $user->setEmail('no-reply@hotmail.com');
    $manager->persist($user);

    $manager->flush();
    }
}

但是出现以下错误:Call to a member function encodePassword() on null。在这里找不到我在做什么错!

1 个答案:

答案 0 :(得分:1)

您应该首先检查名称空间,但正如@Cerad所说,您输错了encoder,这就是php bin/console doctrine:fixtures:load为空的原因。

为正确加载灯具而使用的正确命令可能是:

SELECT jsonb_agg(elem) FROM sessions, jsonb_array_elements(actions) as elem

根据文档建议:https://symfony.com/doc/master/bundles/DoctrineFixturesBundle/index.html