У меня есть три таблицы для хранения данных, связанных с деятельностью, как показано ниже.SQL Query для генерации активности из хранимых данных таблицы
Table: activity +----+---------------+---------+ | id | activity_text | user_id | +----+---------------+---------+ | 1 | added | 1 | | 2 | added | 1 | +----+---------------+---------+
Table: activity_modules +----+-------------+ | id | module_name | +----+-------------+ | 1 | posts | | 2 | comments | | 3 | users | +----+-------------+
Table: activity_module_objects +----+-------------+-----------+--------------+-----------+ | id | activity_id | module_id | display_text | object_id | +----+-------------+-----------+--------------+-----------+ | 1 | 1 | 1 | new post | 10 | | 2 | 2 | 1 | new comment | 11 | | 3 | 2 | 2 | on post | 10 | +----+-------------+-----------+--------------+-----------+
Здесь таблица активности представляет пользователя и активность. user_id - это внешний ключ из таблицы пользователей.
И object_id в activity_module_objects представляет цель деятельности, как пост с идентификатором 10. Это означает, что какое-то действие произошло на посту 10.
Мне нужен выход, как это, Всякий раз, когда я запрос с использованием user_id, позволяет сказать, что user_id = 1, {пользователь: {ID: 1, имя: 'Индиго'}}
Анил добавил новый пост
Анил добавил новый комментарий на пост
В каждой деятельности, 'Индиго', 'комментарий', " Post 'будет иметь ссылки.
Анилу понравился видео живой природы AnotherUser в
В этой деятельности, Анил, AnotherUser, Дикая жизнь будет иметь ссылки. Поэтому, используя user_id, мне нужно получить данные пользователя, используя module_id & object_id Мне нужно получить детали объекта. Например, если модуль является «VIDEO», мне нужно получить данные video_id (object_id из таблицы activity_module_objects) из таблицы videos
. Если это какая-то другая вещь, например, событие, мне нужно получить данные event_id из таблицы events
.
Теперь, когда вы описали все ваши требования, сформулируйте ваш точный вопрос. –
Пожалуйста, прочитайте [Какие темы я могу задать] (http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to -ask) И [идеальный вопрос] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SO ** - не бесплатное кодирование ** Вы должны показать, что вы приложили некоторые усилия для решения своей проблемы. – RiggsFolly