![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
W entity kolumnę "name" mam ustawioną jako unikalną - to działa, wyrzuca błąd jeśli próbuję wrzucić duplikat.
Chciałbym aby w przypadku próby wrzucenia duplikatu, instancja danego Entity wypełniła się rekordem o przekazanej wartości do kolumny name, na chwilę obecną mam to zrobione mało elegancko
Jak można to lepiej napisać? Obiekt browser potem jest wykorzystywany tak
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Jak używasz MySQL to możesz użyć "ON DUPLICATE KEY":
https://dev.mysql.com/doc/refman/8.0/en/ins...-duplicate.html Ponieważ jednak jest to standard MySQL, będziesz musiał użyć native query (albo napisać lub znaleźć jakieś rozszerzenie Doctrine) Jeśli chcesz zrobić tak, żeby w przypadku konfliktu leciał INSERT zamiast update to można użyć merge: https://www.doctrine-project.org/projects/d...erging-entities Jak chcesz coś kompletnie swojego to najlepiej użyć wbudowanej obsługi zdarzeń: https://www.doctrine-project.org/projects/d...ifecycle-events Zarejestrować serwis, który coś tam zrobi przed każdą próbą utrwalenia encji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 19:18 |