Всем доброе утро!
Столкнулся со следующией ситуацией:
Мне нужно создать связь между моделями по принципу belongsToMany, однако, это должна быть связь один-к-одному, т.е. в связующей таблице должна быть только одна запись, связывающая одни и те же ключи.
Архитектура такая (и просьба не просить менять), что необходимо это реализовать именно через третью (связующую) таблицу.
Я бы мог просто использовать связь belongsToMany, но она возвращает коллекцию вместо конкретной модели.
А все решения в интернете по превращению ответа в модель от этой связи выглядят костылями.
Я нашёл решение в виде связи hasOneThrough, однако оно не устраивает по двум причинам:
- (основная) Хотелось бы использовать удобные функции как в belongsToMany (attach и sync)
- (дополнительная) С прописыванием ключей к hasOneThrough ещё та заморочка. Практически перебором подбирал.
Есть какое-то элегантное решение для данной задачи?
По идее, случай не уникальный