Я не знаю, как правильно сформулировать вопрос, и если существует некоторая терминология для этой проблемы.
У меня есть таблица городов и таблица связи между городами:
city1_name city2_name
Atlanta New York
Moscow Madrid
Atlanta Madrid
Moscow Tokyo
Tokyo Atlanta
etc etc
Таким образом, соединения не повторяются и являются симметричными, и если я хочу получить все соединения одного города, я не могу сделать так:
$this->belongsToMany(self::class, 'city_city', 'city1_name', 'city2_name);
При таком подходе, например, для Атланты, он вернетсяНью-Йорк и Мадрид, но я не вернусь в Токио, который я тоже хочу вернуть.