Как бы я использовал metawhere для поиска ассоциаций и объединения таблиц? - PullRequest
0 голосов
/ 15 июня 2011

У меня есть две модели: Message и UserMessage. Я получил эту архитектуру откуда-то еще на SO, но у меня есть некоторые проблемы.

Каждое сообщение имеет ДВА UserMessage: у одного UserMessage есть user_id отправителя, а у другого user_id получателя. Это позволяет одной стороне удалять или изменять статус сообщения отдельно от другой.

Как найти список всех сообщений, которые были отправлены между sender_id и receive_id?

Если я сделаю UserMessage.where (: user_id => sender_id), который не показывает мне только получателя, например.

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

Я думаю, что если я смогу сгенерировать список всех Сообщений, где одно UserMessage - sender_id, а другое - receive_id, это будет работать, но как мне это сделать?

1 Ответ

0 голосов
/ 14 июля 2011

Вы противоречите себе.Сначала вы говорите: «Каждое сообщение имеет ДВА пользовательского сообщения», а затем «пять пользовательских сообщений, принадлежащих одному и тому же сообщению».Если бы вы могли перефразировать вопрос, чтобы сделать это понятным, вам было бы легче помочь.

...