如何关联列值匹配的两个模型?
How can I associate two models where column values match?
假设我有两个模型
模型 A:id
、unique_id
、created_at
、updated_at
模型 B:id
、model_a_unique_id
、created_at
、updated_at
这些唯一 ID 是字符串。
如何使用这样的列来关联这些列中的值?它们之间存在 1:n 关系。我确实尝试用谷歌搜索,但一无所获。
编辑: 当然,我指的是记录值。
假设您正在使用 MySQL,您想要使用 join
。您可以使用以下查询完成合并两个表的列。
SELECT * FROM ModelA AS a
JOIN ModelB AS b ON a.unique_id = b.model_a_unique_id
阅读更多关于 MySQL Joins here
你应该可以做到:
class A
has_many :bs, foreign_key: :model_a_unique_id, primary_key: :unique_id
end
class B
belongs_to :a, foreign_key: :model_a_unique_id, primary_key: :unique_id
end
假设我有两个模型
模型 A:id
、unique_id
、created_at
、updated_at
模型 B:id
、model_a_unique_id
、created_at
、updated_at
这些唯一 ID 是字符串。
如何使用这样的列来关联这些列中的值?它们之间存在 1:n 关系。我确实尝试用谷歌搜索,但一无所获。
编辑: 当然,我指的是记录值。
假设您正在使用 MySQL,您想要使用 join
。您可以使用以下查询完成合并两个表的列。
SELECT * FROM ModelA AS a
JOIN ModelB AS b ON a.unique_id = b.model_a_unique_id
阅读更多关于 MySQL Joins here
你应该可以做到:
class A
has_many :bs, foreign_key: :model_a_unique_id, primary_key: :unique_id
end
class B
belongs_to :a, foreign_key: :model_a_unique_id, primary_key: :unique_id
end