Cześć, zastanawiam się jak najlepiej zamodelować mecz szachowy i operacje zapisywania wyniku oraz rankingu.
Najprostsze rozwiązanie jakie przychodzi mi do głowy:
- Wysyłam z frontu id meczu, id wygranego gracza i id przegranego, pobieram po id z bazy mecz, pobieram userów po id, przeliczam ich nowe rankingi i zapisuje te 3 obiekty (2 userów i ukończony mecz).
Nie podoba mi się to, że zapisuję 3 obiekty na raz ..
Myślałem też nad takim rozwiązaniem, że w encji User nie trzymam w ogóle czegoś takiego jak ranking, tylko zapisuje w Meczu po prostu, który z nich wygrał i o ile zmienił się ranking (bo wg rankingu ELO obu zmienia się tak samo). A sam ranking usera liczę sobie poprzez agregowanie wszystkich meczów, w których brał udział oraz startowego rankingu.
Jakieś opinie ?