Мне нужно создать сценарий, в котором кто-то выведет открытие для позиции, и каждый, кто имеет право на участие, увидит это открытие, но кто-либо, кто не (или отказался от него)) не увидит открытия. Таким образом, два человека могут перейти на одну страницу и посмотреть разные материалы, некоторые потенциально одни и те же, некоторые совершенно уникальные. Я не уверен, что лучший способ организовать эти данные в DB/table MySQL.Рекомендуемая таблица Настройка для одной или нескольких/нескольких ситуаций.
Например, я мог бы это организованный проводкой, но это будет выглядеть вроде:
PostID VisibleTo
PostingA user1,user2
И что кажется неправильным (стиль CSV в колонке). Или я мог бы пойти с лицом:
User VisiblePosts
user1 posting1, posting2
Но это та же самая проблема. Есть ли способ сделать уникальным пользователя, уникальную публикацию и присоединиться к ним только там, где они совпадают?
Решение принято из серии запросов к другому набору таблиц, но, как только это выполняется, кажется, неэффективно, что некоторый фрагмент кода запускается снова и снова, когда он не изменится после пользователя публикует позицию.
... С другой стороны, это МОЖЕТ быть изменено, но если мы предположим, что это не так (поскольку это маловероятно, и как маловероятно, если пользователь увидит то, к чему они больше не подходят), есть ли стандартное решение для этого сценария?
Итак, в этом случае, если у пользователя было 3 сообщения, которые были видимыми, и каждый из этих сообщений был видимым для 2 пользователей, столбец userID должен был бы указать этого пользователя 3 раза, а его три сообщения появятся в столбце postID 6 раз? Или я пропустил часть концепции? – Anthony
@ Энтони, Правильно. Вы также должны сделать PostID/UserID UNIQUE, потому что пользователь не может иметь доступ к тому же сообщению «дважды». – molf