问题标签 [ecto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
468 浏览

postgresql - 如何在 Phoenix 的 Ecto 模型中获取 PostgreSQL 哈希?

我想在我的 Ecto 模型中定义一个 PostgreSQL-Hash 类型字段,但我不知道该怎么做。我还没有找到关于这个主题的明确指南,我假设它隐藏在这里的某个地方:http: //hexdocs.pm/ecto/Ecto.Schema.html

有没有人在 Ecto 中做 PostgreSQL-Hash 字段的明确指南?

0 投票
2 回答
2323 浏览

join - Elixir Ecto:多个连接和可重用/可组合查询

在 Ecto 中,您可以像这样进行可重用/可组合的查询:

在此博客文章中查看更多示例。

但是,我在使用多个连接时遇到了问题。

假设我们有一个看起来像这样的模式:

  • AModel 属于 BModel
  • BModel 属于 CModel
  • CModel 属于 DModel

本文中提出的解决方案不适用于深度连接:

查询函数将绑定表作为第一个(第二个用于连接)参数。它包含以前的连接,但遗憾的是连接顺序很紧。

在我们的例子中,anonymous函数以起始表为目标。但是在查询示例中,AModel 是第 4 个绑定...

摆脱这种订单依赖的任何想法或技术?

编辑 :

我从博客作者那里得到了答案。他告诉我,除了在表格中的位置之外,没有其他本地方式来处理绑定。他还给这篇文章强调了这一事实。

但是看在上帝的份上,如果顺序很重要,为什么我不能在它上面创建一个将 name 与绑定索引相关联的命名映射?

这要求太多了吗:p?

0 投票
1 回答
1304 浏览

elixir - 带有ecto的逆多态性

当前的 Ecto 文档http://hexdocs.pm/ecto/Ecto.Schema.html仅解释了如何构建一种belongs_to多态关联,当多态Comment可以同时属于Task和时Post。但是相反的方向呢?

例如,有一个Listing可以具有以下四种类型之一的属性:RoomApartment或。VilaOffice

考虑到一对一的关系,给定上面的示例,这意味着应该存在rooms_listings、和apartments_listings,这是不可能的,因为这将导致与 关联的所有其他表的重复。vila_listingsoffice_listingslistings

问题是如何建模这种关系?

0 投票
0 回答
599 浏览

elixir - 查询中的模型源中不存在“join”中的 Phoenix 和 Ecto 字段 x

Sup,我正在完成我的项目,但遇到了奇怪的问题。我试图通过以下方案加入 PostgreSQL 中的表:

第二个:

和动作代码:

字段“mastercat_id”在迁移文件中定义为对类别的引用:

并且 Action 返回以下错误:

我将非常感谢任何帮助。干杯,海托

https://github.com/Hajto/hangmanelixir

0 投票
2 回答
11575 浏览

elixir - 凤凰灵药的变更集是什么

我在理解changesetin 模型时遇到问题。它能做什么?我们可以在一个模型中拥有多个变更集吗?例如,一个用于创建,另一个用于更新。

有人可以用简单的方式详细说明,以便帮助其他人来凤凰城。

0 投票
1 回答
3738 浏览

elixir - Ecto 关系,不插入外键 ID

Sup,我正在学习 Ecto,我正在尝试将具有关联的记录插入到另一个表中。它有点工作,因为正在插入记录但外键字段为空。

代码:

检查变更集

我可以看到出于某种奇怪的原因,它将父 ID 分配给字段 master_cat_id 而不是 mastercat_id。

任何帮助深表感谢。 https://github.com/Hajto/hangmanelixir

0 投票
1 回答
2631 浏览

elixir - Poison Encode 编码嵌套模型

苏,

我正在尝试对一些嵌套的 Ecto 模型进行编码,但遇到了问题。我意识到我无法对未加载的模型进行编码,并且我希望有可能只选择一个结构而不加载其余部分,同时有可能选择整棵树。

我使用了 defimpl 方法,例如:

这适用于整个结构,但不适用于仅选择 MasterCats,并且会出现此类错误。

0 投票
0 回答
1897 浏览

elixir - 如何从 Ecto 的关联中选择特定字段?

我有以下型号

我现在要做的是获取具有特定字段的订单:savingsshipment_cost.

我还需要该订单的关联产品,但同样,也只有特定字段quantitypricediscount

如何以最有效的方式做到这一点?

我也试过

但这Repo.all当然迫使我使用并返回一个连接列表。

0 投票
1 回答
3342 浏览

elixir - 如何在phoenix elixir中添加插件路由器

我为用户资源创建身份验证,它工作正常,但现在我想使用从 user_controller.ex 到 project_controller.ex 的身份验证功能。

如果我将身份验证私有函数从 user_controller 复制到 project_controller,则身份验证适用于项目资源,但我不想在每个控制器中复制此身份验证功能。我需要知道干燥此代码的最佳方法是什么。我认为路由器是添加身份验证插件的好地方,但我需要知道我应该在哪里添加代码。

路由器.ex

user_controller.ex

模型/user.ex

控制器/auth.ex

控制器/project_controller.ex

0 投票
2 回答
3721 浏览

elixir - 返回列表会导致 (Poison.EncodeError) 无法编码值

IO.puts(inspect(contacts)) 给出:

视图看起来像:

一旦我尝试渲染这个视图,我就会得到: