Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Relacje do reakcji na post
Forum PHP.pl > Forum > Przedszkole
sadistic_son
Hej, poradźcie jak powinna wyglądać baza z postami i możliwymi do nich reakcjami użytkowników? Coś jak na WhatsApp że do każdej wiadomości user może zareagować np uśmieszkiem, kciukiem czy inną z kilku emotek.
Czy potrzebuję do tego oddzielnej tabeli o wyglądzie mniej więcej takim?
Id, user_id, post_id, emoticon_type

Jakieś inne pomysły?

Dzięki.
nospor
kiedys bym ci zaproponowal oddzielna tabele. dzis, dodaj poprostu pole do obecnej tabeli: REACTIONS jako pole text, mozesz tam trzymac JSON i updatuj jak ktos doda rekacje. Bo przeciez nie bedzeisz wyszukal kto i jak reagowal na dany post prawda?
sadistic_son
Hmmm, Ale to stwarza możliwości 1000(0) reakcji na jednego posta przez każdego jednego usera, prawda? No i mi zależy żeby można było po najechaniu na konkretną ikonkę zobaczyć kto zareagował tym uśmiechem, a kto tamtym fuck'em smile.gif Tak więc zakładam, że albo oddzielna tabela, albo... no właśnie - coś?

A czemu "dawniej"? Coś się zmieniło w twoim podejściu?
nospor
nie bardzo rozumiem. Jesli chcesz, by dany user mogl na danego posta dac tylko jedna reakcje, to przeciez masz informacje w polu czy user juz dal reakcje czy nie i pozwalsz na dodanie nowej albo nie. Walidacja sie nie zmienia, niezalezni czy masz oddzielna tabele czy oddzielne pole.

Co sie zmienilo? poprostu bardziej praktycznie podchodze do sprawy. Oba rozwiazania maja wady i zalety. Oddzielne pole to masz dodatkowe pole niezaleznie czy ktos dodal CLICK czy nie. oddzielna tabela eleiminuje ten problem, bo rekordy wpadaja tylko gdy byl CLICK. no ale oddzeilna tabela to oddzielna tabela, a dodatkowe pole jakos latwiej ogarniac. Dlatego kiedys bym szedl w oddzeilna tabele, a teraz jest mi obojetne czy oddzielna tabela czy dodatkowa kolumna.
sadistic_son
A no dobra, czyli JSONa polecasz. W sumie userów za dużo nie mam, więc wydajność na tym nie ucierpi.
Dzięki.
Salvation
W osobną tabelę też bym się nie pchał, bo to bez sensu. JSON sobie z tym poradzi na poziomie bazy, żeby trzymać informację, natomiast w kodzie ogarniesz zabezpieczenia.
Pamiętaj tylko o dobrej strukturze JSON-a, bo - być może - będziesz potrzebować się dobić SQL-em do wartości wewnątrz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.