Всем привет! Помогите со связями в моделях
Есть 3 таблицы:
Clients, Contacts, Calls
В таблице Calls есть и ClinetId и ContactId
Есть запрос
SELECT `calls`.*
FROM `calls` WHERE `calls`.`CallContragent` = '130350'
OR `calls`.`CallContact`
IN ('74031', '74032', '74214', '74221', '74222', '74243', '74256', '74273', '74293', '74294', '74296', '74323', '74327', '74535', '74536')
Запрос выводит правильно как сделать связь в модели
1 Если я делаю has_many :calls, class_name: 'Call', primary_key: 'ClientId',foreign_key: 'CallContragent' - То выводит только звонки по CallContragent
2 Если я сделаю вот так has_many :calls, class_name: 'Call', primary_key: 'ClientId',foreign_key: 'CallContragent', through: :contacts - то выводит звонки по CallContact и не выводит связь с CallConragent
Как сделать чтоб выводил и по CallContragent и CallContact
Отблагодарю чем смогу!