Я никак не пойму как правильно структурировать базу. Подскажите. Вот у меня есть таблица
users:
+----+------+-----------+-------+---------------+
| id | name | last_name | phone | friends_phone |
+----+------+-----------+-------+---------------+
| 1 | Петр | Петров | 66666 | 33333 |
+----+------+-----------+-------+---------------+
| 2 | Макс | Васильев | 33333 | 66666 |
+----+------+-----------+-------+---------------+
и friendship
+----+-------------+-------------+-------+
| id | user_one_id | user_two_id | status|
+----+-------------+-------------+-------+
| 1 | 1 | 2 | 1 |
+----+-------------+-------------+-------+
В поле status:
Если 0 - ожидание, 1 - принято, 2 - отклонено
Так вот, Петр Петров отправил запрос дружбы Максу Васильеву по его номеру телефона и ID Петра вставляется в таблицу friendship и status равен 0. В свою очередь Макс принимает запрос (Проверка пойдет, сравнение с номером Петра и тем номером, что вел Макс. Если совпадают, то и его ID вставится в таблицу и статус поменяется на 1)
Вопросы:
1) В данном случае, я могу предложить дружбу только одному человеку, где веду номер друга в таблице users friends_phone, как сделать чтобы можно было расширять friends_phone?
2) Мне кажется, добавлять поле friends_phone в таблице users не правильно, но как тогда иначе? Как проверять совпадение номеров при принятии дружбы и тд?
Поле friends_phone в таблице users не требуется. Предлагаю такой алгоритм действий, при добавлении дружбы: Пользователь ID1 хочет подружиться с пользователем у которого телефон 5555.
user_one=1, user_two=2, status=0.Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости