Въпрос относно роли за потребители
Здравейте
Използвам начина за ролите от урока на Веселин Малезанов. Имам 3 таблици - users, roles и user_roles
Въпроса ми е, когато използвам method-a setRoles() в контролера, очаква Collection и не знам как да сетна роля автоматично при регистрация.
public function setRoles($role){
$this->roles = null;
$this->roles[] = $role;
return $this;
}
Това е cotroller-a ми:
if ($form->isSubmitted() && $form->isValid()) { $password = $passwordEncoder->encodePassword($user, $user->getPlainPassword()); $user->setPassword($password); $user->setRoles(); $em = $this->getDoctrine()->getManager(); $em->persist($user); $em->flush(); return $this->redirectToRoute('login_user'); }
Какво трябва да подам на метода setRoles() ?
Благодаря !
Искам да сетна роля - ROLE_USER на всеки нов регистриран потребител. Не трябва ли да подам желаната роля - setRoles(['ROLE_USER']), но така не става, плюе ми грешка, че очаква collection, а давам масив.
$roleRepository = $this->getDoctrine()->getRepository(Role::class);
$userRole = $roleRepository->findOneBy(['name' => 'ROLE_USER']);
$user->addRole($userRole);
Благдодаря ! Не се сетих, че трябва да мина през репоситорито.