0
A
回答
0
我能夠做到這一點。我創建了一個tag_relationship表第一:
create table(:tag_relationship, primary_key: false) do
add :parent_id, references(:tags)
add :child_id, references(:tags)
end
給它一個架構&變更
defmodule Notebook.TagRelationship do
use Notebook.Web, :model
@primary_key false
schema "tag_relationship" do
belongs_to :parent, Tag
belongs_to :child, Tag
end
def changeset(struct, params \\ %{}) do
struct
|> cast(params, [:parent_id, :child_id])
|> validate_required([:parent_id, :child_id])
end
end
現在設置所有的標籤模型中的MANY_TO_MANY關係
schema "tags" do
field :name, :string
many_to_many :parents, Notebook.Tag, [join_through: Notebook.TagRelationship,
join_keys: [child_id: :id, parent_id: :id]]
many_to_many :children, Notebook.Tag, [join_through: Notebook.TagRelationship,
join_keys: [parent_id: :id, child_id: :id]]
timestamps()
end
我明確設置的鍵名因爲我不知道它會嘗試推斷什麼。
現在我可以創建一個TagRelationship變更
c = TagRelationships.changeset(%TagRelationship{},
{parent_id: a.id, child_id: b.id})
Repo.insert(c)
標籤爲一個關係,B
相關問題
- 1. 在使用Ecto
- 2. 如何使用Ecto更新字符串
- 3. 如何使用Ecto的has_many和cast_assoc
- 4. 如何使用JSF標籤
- 5. 如何使用noscript標籤?
- 6. 如何使用th標籤
- 7. 如何使用img標籤
- 8. 如何使用標籤
- 9. Ecto使用多個節點
- 10. 使用Ecto執行聯盟
- 11. 如何使用標籤,如Facebook標籤FBML,XML模式和javascript
- 12. 如何使標籤
- 13. HTM如何使用懸停標籤
- 14. 如何使用acts_as_taggable_on緩存標籤?
- 15. 如何使用標籤庫與VB.Net
- 16. 如何使用Javascript隱藏標籤?
- 17. Pyrocms問題:如何使用標籤
- 18. 如何使用EditorTemplate覆蓋標籤?
- 19. 如何在VB 2010中使用標籤?
- 20. 如何在CSS中使用*標籤?
- 21. 如何使用Zend_Cache_Backend_TwoLevels和標籤?
- 22. 如何更改Zend_View_Helpers_FormErrors使用的標籤?
- 23. 如何使用標籤視圖的Android
- 24. 如何在URL中使用錨標籤?
- 25. 如何使用smack獲得IQ標籤?
- 26. 如何使用標籤名稱
- 27. 如何使用JavaScript插入標籤?
- 28. 如何使用JSTL SQL標籤
- 29. 如何正確使用構建標籤?
- 30. 如何使用ViewPager刪除TabPageIndicator標籤