gpt4 book ai didi

elixir - 如何访问 Elixir 中的当前模块

转载 作者:行者123 更新时间:2023-12-04 13:05:12 27 4
gpt4 key购买 nike

假设我有一个模块 MyApp.User它有以下方法:

def update_some_counter(user) do
from(u in MyApp.User , where: u.id == ^user.id)
|> Repo.update_all(inc: [some_counter: 1])
end

有没有办法改变 MyApp.User在上面的代码中到一些检索当前模块的方法?

最佳答案

帕特里克的回答是正确的:你可以使用 __MODULE__ .但是,我建议模型中的所有查询函数都接收查询作为参数(请参见此处:http://blog.drewolson.org/composable-queries-ecto/),并且不要调用模型内的存储库。

将调用存储库的行为(这是一个副作用)留给集成层,比如 Controller 等等。

关于elixir - 如何访问 Elixir 中的当前模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32282678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com