有没有办法更新模式关联中的虚拟字段?
Is there a way to update virtual field in the association of a schema?
谁能帮我解决这个问题?
我有一个使用 postgis 的项目,我正在尝试获取相关数据。
我有一个 table 可以保存代理信息,还有一个 table 可以为每个代理保存区域。
我在区域模式中有一个虚拟字段,我试图从数据库计算值
填充它
see PhoenixGeo.Agents.get_agent_with_ares!(agent.id)
我这样做是为了避免进行两个单独的查询
我遵循了在线提供的做法,但它似乎并没有更新该字段。
这是我的回购协议:https://github.com/alt-ctrl-dev/phoenix_geo(已编辑)
我希望我的最终结果是:
%Agent{
id:"agent-id"
...
areas: [
%Area{
id: "area-id",
area: <DB_CALCULATED_VALUE>
...
},
...
]
}
如有任何帮助或指导,我们将不胜感激!
拜托谢谢
我认为
select_merge: %{
areas: %{area: fragment("st_area(?) * 1000 * 1000", area.geojson_feature)}
}
应该去预加载:
preload: [areas: area, {area: fragment("st_area(?) * 1000 * 1000", area.geojson_feature)}],
我是凭空打字,你可以看看文档中的例子,找出正确的语法:
https://hexdocs.pm/ecto/Ecto.Query.html#preload/3
谁能帮我解决这个问题?
我有一个使用 postgis 的项目,我正在尝试获取相关数据。
我有一个 table 可以保存代理信息,还有一个 table 可以为每个代理保存区域。 我在区域模式中有一个虚拟字段,我试图从数据库计算值
填充它see PhoenixGeo.Agents.get_agent_with_ares!(agent.id)
我这样做是为了避免进行两个单独的查询
我遵循了在线提供的做法,但它似乎并没有更新该字段。
这是我的回购协议:https://github.com/alt-ctrl-dev/phoenix_geo(已编辑)
我希望我的最终结果是:
%Agent{
id:"agent-id"
...
areas: [
%Area{
id: "area-id",
area: <DB_CALCULATED_VALUE>
...
},
...
]
}
如有任何帮助或指导,我们将不胜感激!
拜托谢谢
我认为
select_merge: %{
areas: %{area: fragment("st_area(?) * 1000 * 1000", area.geojson_feature)}
}
应该去预加载:
preload: [areas: area, {area: fragment("st_area(?) * 1000 * 1000", area.geojson_feature)}],
我是凭空打字,你可以看看文档中的例子,找出正确的语法: https://hexdocs.pm/ecto/Ecto.Query.html#preload/3