Symfony 多个实体的EmailLog表

Symfony 多个实体的EmailLog表,symfony,doctrine-orm,data-modeling,Symfony,Doctrine Orm,Data Modeling,我需要实现一个电子邮件日志表,它将由一系列实体使用——这些实体中的每一个都表示我们用来创建“可通过电子邮件发送”文档的数据 我如何使用Symfony2和doctrine在数据库中对这种行为进行最佳建模?有太多的字段不能重复使用EmailLog表,而且还计划了一些功能,其中可能包括一个总体日志视图 假设我们有表quote和order作为文档数据表,我认为最明智的方法是 Company\Bundle\Entity\EmailLog: type: entity table: email_log

我需要实现一个电子邮件日志表,它将由一系列实体使用——这些实体中的每一个都表示我们用来创建“可通过电子邮件发送”文档的数据

我如何使用Symfony2和doctrine在数据库中对这种行为进行最佳建模?有太多的字段不能重复使用EmailLog表,而且还计划了一些功能,其中可能包括一个总体日志视图

假设我们有表quote和order作为文档数据表,我认为最明智的方法是

Company\Bundle\Entity\EmailLog:
  type: entity
  table: email_log
  id:
    id:
        type: integer
        nullable: false
        unsigned: false
        comment: ''
        id: true
        column: emlo_id
        generator:
            strategy: IDENTITY
  fields:
    created_at:
        type: datetime
        nullable: true
        fixed: false
        comment: ''
        default: ''
    to:
        type: string
        nullable: false
        length: 500
        fixed: false
        comment: ''

Company\Bundle\Entity\EmailLog:
  type: entity
  table: email_log_link
  id:
    id:
        type: integer
        nullable: false
        unsigned: false
        comment: ''
        id: true
        column: emlo_id
        generator:
            strategy: IDENTITY
  fields:
    quote_id:
        type: int
        nullable: true

    order_id:
        type: int
        nullable: true
有更好的数据库模型吗


是否应该用PSR-3记录器解决这个问题?

从我在您的映射文件中看到的情况来看,您似乎正在使用ORM

您试图实现的可能称为反模式“”,这是一种存储在关系数据库中的对象类型,与其他实体几乎没有关系。您正在使用数据库作为持久性介质


为什么不将域模型的这一部分切换到文档数据库?您可以将实体设计为简单文档,并使用将其映射到Symfony。此外,将实际映射转换为ODM映射非常简单。

您能描述一下您的需求吗?我认为这是一个更适合这个问题的地方。无论如何,我会记录电子邮件的标题、发件人的
和其他标题(如果您使用)。@A.L不,我们不会在代码审查时进行数据库设计审查,这太高了。在考虑了我的需要之后,我认为删除这个问题是有意义的。我正在寻找的是一个解决方案架构,用于存储带有标签的电子邮件,并使用API检索它们。有什么服务可以完成这个问题的主要任务吗?@Mast是解决这个问题的最佳网站?用一种新的方式来看待这个问题真是个好主意。我意识到在我的职业生涯中我创造了很多外星人。