Я создаю таблицу организаций в 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", но такой службы не существует. Вы создали класс, реализующий этот интерфейс? `