Мне нужно искать пользователя, но также присоединить его к другой таблице (партнеру). Вот рабочий код без объединения:Как присоединиться к Repo.find_by() в elixir
result = Repo.get_by(User, login: auth.info.email)
В таблице пользователь имеет внешний ключ таблицы партнера, так что я подумал, чтобы попробовать это:
result = Repo.get_by(User, %{ login: auth.info.email, join: :partner })
Но это приводит:
field `User.join` in `where` does not exist in the schema in query:
, поэтому очевидно, что соединение является именем столбца. Я не хочу предварительно загружать, потому что, как я понимаю, это будет загружать всю таблицу в память, и она может стать большой, поэтому мне нужно соединение на уровне базы данных.
'preload' будет загружать только записи, связанные с выбранным пользователем, а не всю таблицу. – Dogbert
Можете ли вы привести пример использования в этом случае? Я помечаю ваш ответ как принятый. – raarts