В Rails, как бы связать условно связанные записи с отношением has_many_through
? Используя следующий пример документов Rails:Условно-экономия has_many_through Отношения
class Physician < ApplicationRecord
has_many :appointments
has_many :patients, through: :appointments
end
class Appointment < ApplicationRecord
belongs_to :physician
belongs_to :patient
end
class Patient < ApplicationRecord
has_many :appointments
has_many :physicians, through: :appointments
end
Предположим, что я хотел иметь назначение на прием именно двух врачей. То есть не будет записи о назначении, которой назначено менее двух назначенных врачей. Однако, как это назначение назначалось каждому врачу?
Пример
В принципе, я хочу, чтобы отслеживать пользователей, любящих других пользователей и взаимные симпатии между ними. Соединение устанавливается, когда оба пользователя похожи друг на друга. Но я не хочу подключения, когда только одному пользователю нравится другой, но он не является взаимным.
Когда пользователь A любит пользователя B. Создается «как». Когда пользователь B любит пользователя A. Создается «как». Также создается «соединение».
Соединение должно быть в состоянии назвать: connection.users
Пользователь должен быть в состоянии назвать: user.likes
user.connections
Проблема, которую я имею, как это может таблица отношения знать, когда взаимно?
Можете ли вы поделиться чем-то примером? –
я добавил больше информация. – user3162553
@ user3162553 У конкретного 'пользователя' может быть много' подобных 's, но может ли у какого-то« похожего »быть много« пользователей »? Кажется, что отношения, которые вы пытаетесь сделать, не многим. – LucasP