У меня есть три таблицы Feed
, Vote
и Event
.
Feed
+id
+content
+voteCount --> hold the number of votes on this feed
Vote
+id
+feedId --> FK to id in Feed
+eventId --> FK to id in Event
Event
+id
+name
+voteCount --> hold the number of votes on this event
Пользователь может проголосовать за event
и feed
. Таблица Vote
отслеживает, кто и за что голосовал, с тех пор каждый может голосовать только один раз на event
или feed
. Итак, вот моя проблема: когда я создаю event Y
, я также создаю feed
скажем X created event Y
, который появится в профиле пользователя X
. Если кто-то проголосует за или фид или событие Y, за голосование и event Y
и голосование feed
, в котором говорится X created event Y
должно оба быть 1.
а. Каков наилучший способ достижения вышеуказанного ?
б. Также, если X
уже проголосовал за feed
, в котором было указано X created event Y
, то он больше не может голосовать за event Y
и наоборот (поскольку каждый пользователь может голосовать только один раз за событие, и в этом случае feed
и event
действительно одно и то же)