Elixir 将几个模型预加载到回购的结果中
我有一个来自第三方库的函数,它从数据库返回数据:Elixir 将几个模型预加载到回购的结果中,elixir,phoenix-framework,Elixir,Phoenix Framework,我有一个来自第三方库的函数,它从数据库返回数据: cars = get_all_cars #third-party function 在内部,它执行类似于Repo.all(从车中的c)。我想预加载与模型车相关的2个模型。我能做到 `Repo.all(from c in Car, preload: [:driver, :driver_to_car])` 但是我没有访问权限,也不想更改get\u all\u cars的源代码。那我怎么做呢 请注意,汽车和驾驶员之间存在多对多关系。您可以将结构或
cars = get_all_cars #third-party function
在内部,它执行类似于Repo.all(从车中的c)
。我想预加载与模型车相关的2个模型。我能做到
`Repo.all(from c in Car, preload: [:driver, :driver_to_car])`
但是我没有访问权限,也不想更改get\u all\u cars
的源代码。那我怎么做呢
请注意,汽车和驾驶员之间存在多对多关系。您可以将结构或结构列表传递给
Repo.preload/3
:
cars = get_all_cars |> Repo.preload([:driver, :driver_to_car])
这与示例代码的功能相同。您可以将结构或结构列表传递给
Repo.preload/3
:
cars = get_all_cars |> Repo.preload([:driver, :driver_to_car])
这与您的示例代码的功能相同。如何从单个
汽车访问驾驶员到车辆
模型
?与您使用Repo.all(从车中的c,预加载:[驾驶员,:驾驶员到车辆])的方法相同。
。那代码不起作用了吗?在这种情况下,您能在问题中包括所有3个模型的模型模式吗?我的意思是,访问或引用,而不是检索。上面的代码已经检索到它。只要car。如果是关联名称,则driver\u to\u car
应该可以工作。您还可以通过检查返回值来查看字段名称。如何从单个汽车访问驾驶员到车辆模型?与您使用Repo.all(从车中的c,预加载:[:驾驶员,:驾驶员到车辆]的方法相同。
。那代码不起作用了吗?在这种情况下,您能在问题中包括所有3个模型的模型模式吗?我的意思是,访问或引用,而不是检索。上面的代码已经检索到它。只要car。如果是关联名称,则driver\u to\u car
应该可以工作。您还可以通过检查返回值来查看字段名。