У меня есть таблица с именем follower_tb. Столбцы в таблице выглядят следующим образом: follow_id (это первичный ключ), follower_id (идентификатор человека, который следовал за другим человеком), follow_id (идентификатор человека, за которым следуют).
Чтобы получить таблицу, я написал это заявление SQL.
SELECT p.participant_id,
p.username,
p.fullname,
p.profile_pics,
f.follow_id,
f.follower_id,
f.followed_id
FROM participant_tb p
JOIN follower_tb f ON ( p.participant_id = f.followed_id )
WHERE followed_id = 1 || follower_id = 1
Я буду пренебрегать member_tb в моем результате и сразу перейду к основному вопросу. Мой результат выглядит так
[{
follow_id: 1,
follower_id: 1,
followed_id: 2
}, {
follow_id: 2,
follower_id: 2,
followed_id: 1
}, {
follow_id: 3,
follower_id: 1,
followed_id: 3
}, {
follow_id: 3,
follower_id: 4,
followed_id: 1
}]
отсюда это означает, что люди с идентификатором 1 и идентификатором 2 следуют друг за другом. Человек с идентификатором 1 следует за человеком с идентификатором 3, но человек с идентификатором 3 не следует назад. Наконец, человек с идентификатором 4 следует за человеком с идентификатором 1, но он / она не следует назад.
Я получил результат в области видимости ( $ scope.allfollowing ), и я использовал ng-repeat (x в allfollowing), чтобы просмотреть цикл в представлении.
Владелец учетной записи (лицо с идентификатором 1) уже имеет свой идентификатор, сохраненный в области ( $ scope.signedin_id ).
Моя главная проблема заключается в том, что я хочу отобразить только одну из этих двух кнопок, используя ng-if of angularjs. Первая кнопка - отмена подписки (это должно отображаться в первом случае, потому что они следуют друг за другом. Это также должно отображаться во втором случае, потому что человек с идентификатором 1 уже следует за человеком с идентификатором 3), вторая кнопка является последующим (это должно отображаться в третьем случае, потому что человек с идентификатором 1 еще должен следовать за человеком с идентификатором 4).
Я мог бы использовать что-то вроде этого:
ng-if="x.follower_id == signedin_id"
ng-if="x.followed_id == signedin_id"
Но проблема в том, что: для человека с номером 2 (который следует за идентификатором 1 и он также следует назад) будут отображаться обе кнопки, как я могу решить эту проблему?
Я буду рад, если кто-нибудь покажет мне эффективный способ сделать это.