Мой новый проект - это что-то вроде блога, в котором пользователи могут следить за другими пользователями.
При перечислении всех постов, под каждым постом будет кнопка для подписки / отмены подписки.
Используются таблицы пользователей, постов и подписчиков.следующие:
Таблица USER
id firstName lastName
.....................................
1 arun prasanth
2 ann antony
3 sruthy abc
6 John abc
Таблица POSTS
id user_id postname url
.....................................................
1 2 post1 www.url1.com
2 2 post2 www.url2.com
3 6 post3 www.url3.com
4 3 post4 www.url4.com
Таблица подписчиков
id user_id following_users_id date
..............................................
1 2 1 2018-01-25
2 2 3 2018-01-25
3 6 3 2018-01-25
4 3 6 2018-01-25
, чтобы вывести список всех сообщений, на которые был похож мой запрос:
SELECT * FROM posts LEFT JOIN users on posts.user_id = users.user_id;
, и он работал нормально, поскольку обе таблицы имели соответствующие строки, и в результате были перечислены оба столбца таблицы свсе данные.
Теперь моя проблема заключается в присоединении к третьей таблице, то есть к таблице последователей.Проблема с таблицей подписчиков состоит в том, что в ней будет только одна строка, которая соответствует текущим зарегистрированным пользователям user_id и follow.user_id.
Я перепробовал все варианты, такие как ЛЕВОЙ ПРАВОЙ ВНУТРЕННЕЙ и ВНЕШНЕЙ СОЕДИНЕНИЙ.но безуспешно.
результат, который я хочу получить:
user.id -> xxx
user.firstName -> xxx
user.lastName -> xxx
posts.id -> xxx
posts.user_id -> xxx
posts.postname -> xxx
posts.url -> xxx
followers.id -> xxx
followers.user_id -> **Logged IN Users ID**
followers.following_users_id -> **posts.user_id**
followers.date -> xxx
последователь.ид, последователь.пользователь.идентификатор.following_users_id, последователь.дат должен быть напечатан, только если подписчиков.user_id === ИД пользователя, вошедшего в систему И последователей. following_users_id === posts.user_id имеет значение true.иначе эти столбцы должны быть пустыми.
Есть ли какой-нибудь способ, которым я могу получить данные, как упомянуто выше, или использовать что-то вроде цикла foreach?