私は、データベースからデータを返すサードパーティ製のライブラリからの関数があります。
cars = get_all_cars #third-party function
内部的には Repo.all(from c in Car)
。モデルCarに関連付けられている2つのモデルをプリロードします。これができた
`Repo.all(from c in Car, preload: [:driver, :driver_to_car])`
しかし、私はアクセス権を持っておらず、のソースコードを変更したくありません。 get_all_cars
。それでは、どうすればよいでしょうか。
車と運転手は多対多の関係にあることに注意してください。
回答:
回答№1は0あなたはに構造体または構造体のリストを渡すことができます Repo.preload/3
:
cars = get_all_cars |> Repo.preload([:driver, :driver_to_car])
これはあなたのサンプルコードと同じように機能します。