Я создаю таблицу организаций в mysql.
Сущность называется Organisation
, и у нее есть поле password
.
Когда я пытаюсь использовать UserPasswordEncoderInterface
, она ожидаетuser
сущность, так что это не работает. Я пытался использовать PasswordEncoderInterface
, но он говорит, что сервис не существует. Что здесь можно сделать?
Это мой код:
public function register(Request $request, EntityManagerInterface $entityManager, PasswordEncoderInterface $encoder)
{
$organisation = new Organisation();
$form = $this->createForm(OrganisationRegisterType::class, $organisation);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$plainPassword = $form->getData()->getPassword();
$encoded = $encoder->encodePassword($plainPassword, null);
$organisation->setPassword($encoded);
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($organisation);
$entityManager->flush();
$this->addFlash(
'success',
'Organizacija sukurta sėkmingai. Nurodytu el. paštu buvo išsiųsta prisijungimo informacija'
);
}
Это ошибка, которую я получаю:
Невозможно автопроводить аргумент $ encoder для "App \ Controller \ OrganisationController ::register () ": он ссылается на интерфейс" Symfony \ Component \ Security \ Core \ Encoder \ PasswordEncoderInterface ", но такой службы не существует. Вы создали класс, который реализует этот интерфейс? `