ユーザーを検索する必要がありますが、別のテーブル(パートナー)にも参加する必要があります。エリクシルRepo.find_by()に参加するにはどうすればいいですか?
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