У меня есть две модели: Message и UserMessage. Я получил эту архитектуру откуда-то еще на SO, но у меня есть некоторые проблемы.
Каждое сообщение имеет ДВА UserMessage: у одного UserMessage есть user_id отправителя, а у другого user_id получателя. Это позволяет одной стороне удалять или изменять статус сообщения отдельно от другой.
Как найти список всех сообщений, которые были отправлены между sender_id и receive_id?
Если я сделаю UserMessage.where (: user_id => sender_id), который не показывает мне только получателя, например.
Также: в одном сообщении может быть много пользовательских сообщений, поэтому мне нужно иметь возможность однозначно найти или сгруппировать сообщение. Другими словами, пять пользовательских сообщений, принадлежащих одному и тому же сообщению. Я просто хотел бы получить последнее датированное пользовательское сообщение для этого сообщения.
Я думаю, что если я смогу сгенерировать список всех Сообщений, где одно UserMessage - sender_id, а другое - receive_id, это будет работать, но как мне это сделать?