Как смоделировать базу данных PostgREST для достижения поведения, похожего на социальную сеть

На этот вопрос может быть очень простой ответ, но, поскольку я новичок в PostgreSQL/PostgREST, я не знаю, как этого добиться.

Я хочу создать конечную точку схемы/REST, которая позволяет мне запрашивать сообщения, опубликованные подписчиками.

На данный момент схема выглядит так:

ПОЛЬЗОВАТЕЛИ

- first_name
, last_name
, id

СООБЩЕНИЯ

- id
, text
, author_id --foreign key to a user

СОЕДИНЕНИЯ

- id
, follower --foreign key to a user
, followed --foreign key to a user

Я хочу иметь возможность запрашивать сообщения, опубликованные пользователями, за которыми следует данный пользователь, но я не уверен, как этого добиться с помощью postgREST.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

posts posted by users which given user follows,

Попробуйте так:

GET /posts?select=*,users!inner(connections!inner!followed(*))&users.connections.follower=eq.<your_user_id>

При этом вы получите желаемое posts, хотя и с некоторыми дополнительными данными.

Вы, сэр, святой. Я заработал, сначала выбрав список отслеживаемых идентификаторов, а затем выбрав статьи с follower=in.(<ids>), но я знал, что это не идеальное решение. Это потрясающе, спасибо!

Dominik Grodl 21.03.2022 16:11

Другие вопросы по теме