#programowanie #symfony #php
ucze się Symfony i potrzebuje zrobić możliwość zmiany danych uzytkownika, lecz mam w entity klasie Usera @UniqueEntity.
Gdy chce go zaaktualizować , to poprostu wyskakuje mi że taki już istnieje uzytkownik i nie robi tego. Da się to jakos ominać przy aktualizacji?
Wstawiam kod https://pastebin.com/QahWYV73
Może w ogole da sie to ładniej zrobić niz przypisywanie kazdego pola w obiekcie
ucze się Symfony i potrzebuje zrobić możliwość zmiany danych uzytkownika, lecz mam w entity klasie Usera @UniqueEntity.
@UniqueEntity(fields={"email"}, message="There is already an account with this email")
Gdy chce go zaaktualizować , to poprostu wyskakuje mi że taki już istnieje uzytkownik i nie robi tego. Da się to jakos ominać przy aktualizacji?
Wstawiam kod https://pastebin.com/QahWYV73
Może w ogole da sie to ładniej zrobić niz przypisywanie kazdego pola w obiekcie
Mam problem , chce sobie wziąć wszystkich userów z konkretna rolą , zrobiłem sobie następujace zapytanie w repository
/**
* @return User[] Returns an array of User objects
*/
public function findByRole($value):array
{
return $this->createQueryBuilder('u')
->andWhere('u.roles = :val')
->setParameter('val', $value)
->orderBy('u.id', 'ASC')
->getQuery()
->getResult()
;
}
W controlerze mam następujący kod :
$user = $userRepository->findByRole(array('ROLE_TRANS'));
W bazie mam następujących użytkowników jak w obrazku , ale i tak wyrzuca mi pustą
Ale tak czy inaczej w bazie role są trzymane zapewne jako string, także nie można od tak wyszukiwać jak po tablicy.
public function findByRole($value):array
{
return $this->createQueryBuilder('u')
->andWhere('u.roles LIKE :val')
->setParameter('val', '%' . $value . '%')
->orderBy('u.id', 'ASC')
->getQuery()
->getResult();
}
i potem w findByRole nie przekazuj tablicy tylko nazwę czyli ->findByRole('ROLE_TRANS')