代码之家  ›  专栏  ›  技术社区  ›  Wayne Molina

处理不属于其所显示窗体的视图支持模型

  •  0
  • Wayne Molina  · 技术社区  · 15 年前

    有点难以解释,但我会尝试:我有一个名为Message的模型,它表示要发送电子邮件的请求,一个名为Segment的模型,它使用MySQL视图从第三方应用程序中提取(并且是只读的),最后是一个用户模型。段和消息都属于用户。

    问题是,我需要在表单上以多选列表框的形式显示段列表,以创建新消息,并存储该数据,因为电子邮件已生成到我们的营销部门,并且应该显示用户希望将其消息发送到的段。还需要有一个“默认”值,表示用户的整个列表(例如,“所有我的联系人”都有一个默认值)。但是,我不能给视图写信(我也不想写,因为它是从第三方应用程序中提取的)。

    现在我很困惑如何去构建这个。我可以创建一个名为MessageSegment的新模型来连接消息和段,但这就留下了如何处理默认值的问题,因为它不能添加到基段模型中,但必须保留一个可选择的选项。

    1 回复  |  直到 15 年前
        1
  •  0
  •   klew    15 年前

    我认为最简单的方法是为消息和段创建连接表(如您所建议的),并向消息模型“send to all”或类似的内容添加一个列。

    但是,如果段来自不同的应用程序,那么它可以更改此表,然后您的所有消息连接都可能被断开。此外,如果段将更改,则“发送到所有”具有不同的含义。因此,如果您确定这个feed segments表的应用程序不会断开segments消息连接,那么如果用户选择“sent to all”,那么您可以与所有的segments进行关联,而不使用额外的列。

    但如果segments表可以更改,那么我将复制segments表中的所有数据并将其与消息关联。我知道这是多余的,但会更安全。

    推荐文章