gpt4 book ai didi

mysql - 与记录的各个字段的多对多关系

转载 作者:行者123 更新时间:2023-11-29 20:12:55 25 4
gpt4 key购买 nike

我有一个名为 email_messages 的表。我有列fromtoccbcc。目前,我将它们存储为文本字段,其中包含电子邮件地址的序列化数组。但我想将地址提取到它们自己的表中,这样我就可以重复使用地址,并更轻松地通过预先输入来搜索地址。

显然,我需要多对多。但如果我这样做:

class EmailMessage
has_many :email_message_addresses
has_many :addresses, through: :email_message_addresses
end

class Address
has_many :email_message_addresses
has_many :email_messages, through: :email_message_addresses
end

我如何才能将每个单独的fromtoccbcc字段的地址关联起来对于单个记录? from 字段可以包含 3 个地址,to 字段可以包含 5 个地址,依此类推。

最佳答案

向 email_message_addresses 添加一个名为 role 的属性,该属性可以采用值 fromto 等。

您可能需要添加一些方法,以便可以执行以下语法

@message = EmailMessage.find(...)
@message.to_addresses # -> array of addresses in the "to" field
@message.cc_addresses # -> array of addresses in the "cc" field
# etc.

关于mysql - 与记录的各个字段的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39965672/

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