我正在尝试使用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
。在这里找不到我在做什么错!
答案 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