У меня есть сценарий, в котором я хочу найти пользователей, которые подписаны на пользователя X, а пользователь X подписывается на них в ответ.
Посмотрите на следующую схему:
database_table_with_test_values
у нас есть Follower_id и Follow_id,
теперь предположим, что мы хотим проверить, следует ли за кем-то пользователь с идентификатором 23 и они следуют за ним назад.
как вы можете видеть, пользователь 22 подписался на пользователя 23 назад,
поэтому мы хотим получить данные о пользователе 22 из таблицы пользователей, такие как имя и адрес электронной почты.
Пользователь 23 подписан на пользователя 24, но пользователь 24 не подписан на пользователя 23 в ответ, поэтому мы не будем включать пользователя 24 в наш список.
Пожалуйста, помогите мне написать запрос, чтобы получить список пользователей для описанного выше сценария.
Спасибо
Обновить
Так как мне нужно было больше информации о пользователе. Медленное решение, которое я сейчас реализую в laravel.
$UsersIAmFollowing = UserFollowing::where('follower_id', $user->id)->get();
$UsersFollowingMe = UserFollowing::where('following_id', $user->id)->get();
$friends = [];
foreach ($UsersIAmFollowing as $userIamFollowing) {
foreach ($UsersFollowingMe as $userFollowingMe) {
if($userIamFollowing->following_id == $userFollowingMe->follower_id){
array_push($friends, User::find($userIamFollowing->following_id));
}
}
}
dd($friends);
Подробнее здесь: https://stackoverflow.com/questions/736 ... ck-by-same
SQL-запрос для получения пользователей, которые подписаны на кого-то и на которых подписан тот же человек ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Несколько человек пишут в один и тот же файл Excel и получают живые результаты [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-