Ecto:如何使用put_assoc使用可选的关联构建变更集

时间:2018-06-28 12:15:01

标签: phoenix-framework ecto

我有一个架构,belongs_to 3个不同的记录,但每个记录都是可选的。

schema "record_one" do
   belongs_to :record_two, RecordTwo
   belongs_to :record_three, RecordThree
   belongs_to :record_four, RecordFour

   timestamps()
end

我知道一种简单的方法就是将每个字段设置为:binary_id字段,并像在其他任何可选字段中一样在记录ID中传递,但是我希望利用Ecto的关联。 >

据我了解,我们需要记录中的一个结构以建立/放置关联,但是如果我在控制器中未收到记录的ID来获取该结构,我将通过什么?

我想出的一个可能的解决方案是创建一个函数,该函数可以映射参数并在参数存在的情况下构建变更集。但是我不确定是否有更简单的使用Ecto的口才能够为我做到这一点?

或者当关系是可选的并且使用:binary_id更好时,以这种方式使用Ecto的关联甚至有意义吗?

0 个答案:

没有答案