Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 2.04.2010 Skąd: Częstochowa Ostrzeżenie: (0%)
|
Witam,
wydaje mi się, że moje pytanie jest banalnie proste, ale mój mózg już chyba dzisiaj przestał pracować, nawet nie wiem jak szukać rozwiązania. Praca inżynierska goni... Mianowicie: Sprawdzam czy istnieje rekord w bazie, jeżeli nie istnieje to tworzę nowy. Podczas przytrzymania F5 rekordów dodaje się kilka. Klucz unique w bazie nie wchodzi w grę.
Dodam tylko, że User i JakisItem są połączone relacją One to Many, a metoda jakis_item() klasy User zwraca pojedynczy obiekt Eloquenta. Chodzi mi o to żeby każdy użytkownik miał ZAWSZE minimum jeden JakisItem, który może, np zmienić właściciela i wtedy chcę utworzyć nowy. Kod powyżej wykonuje się po każdym odświeżeniu strony i sprawdza czy ten item nie zniknął (jest w konstruktorze kontrolera). Podczas tworzenia użytkownika w metodzie postRegister klasy kontrolera AuthController tworzę rekord tak jak powyżej. Jeśli jest na to jakiś lepszy sposób bardzo proszę o nakierowanie na niego. Pozdrawiam! |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Ja w tym przypadku zrezygnowałbym z zapisywania tego w PHP. Narzut będzie stosunkowo duży (odpalaniem za każdym razem), a w przypadku ingerencji z poziomu bazy danych będziesz musiał ręcznie dodawać te itemy. Dlatego proponowałbym napisanie triggera. Nie znam logiki Twojej aplikacji, ale po tym co piszesz to byłby on odpalany w co najmniej 2 przypadkach:
1. Tworzenie użytkownika. 2. Przekazywanie itemu innemu użytkownikowi. Według mnie to co opisujesz to integralność danych w bazie: każdy użytkownik musi mieć co najmniej 1 dany item. Niech więc baza sama o to dba, a nie aplikacja. |
|
|
|
Looozak [inny][laravel 5.1] Dublowanie rekordów przy szybkim odświeżaniu strony 16.11.2015, 21:50:50
Looozak Piszę tu ponieważ nie chciałem zakładać nowego pod... 28.11.2015, 14:23:45
Crozin Witamy w świecie współbieżności. ;-)
Przyczynę ju... 28.11.2015, 15:56:43
Pyton_000 @Crozin nie zakładałbym że kolega ma PSQL 28.11.2015, 16:30:31
Crozin Bez znaczenia czy korzysta z Postgresa, MySQL-a, k... 28.11.2015, 16:48:26
Looozak Ustawiłem poziom izolacji na SERIALIZABLE i zaczęł... 28.11.2015, 18:10:30 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 09:03 |