Организатор (event.user
) также должен иметь attendance
(с приглушенным значением true/false).
Вот упрощенные модели из db/schema.rb
:
create_table "attendances" do |t|
t.bigint "user_id"
t.bigint "event_id"
t.boolean "muted"
end
create_table "events" do
create_table "message_reads" do |t|
t.bigint "message_id"
t.bigint "user_id"
end
create_table "messages" do |t|
t.string "from_type"
t.bigint "from_id"
t.string "to_type"
t.bigint "to_id"
t.text "content"
end
create_table "users" do |t|
t.string "email"
end
Как узнать, какие сообщения не прочитаны пользователем? и какие события, которые имеют непрочитанные сообщения? (в том же запросе с GROUP BY
было бы здорово)
знание того, что если отправителем является пользователь, то сообщение прочитано и что должно быть присутствие, которое не отключено
спасибо
что вы подразумеваете под "у события есть непрочитанные сообщения"? Есть ли в событии сообщения как «кому» или «от»? Если нет, то как связаны события и сообщения?
Меня смущает «знание того, что если отправитель является пользователем, сообщение прочитано» - вы говорите, что сообщения, о которых мы заботимся для пользователя, это «Message.where(to: user)»?
Я не уверен, как интерпретировать «должна быть не приглушенная посещаемость». Как сообщения связаны с событием или посещаемостью? Имеет ли событие идентификатор message_id или сообщение имеет идентификатор события? С удовольствием обновлю свой ответ, как только пойму.