【问题标题】:Doctrine2 oneToMany with yml file and setter/getters带有 yml 文件和 setter/getter 的 Doctrine2 oneToMany
【发布时间】:2011-12-20 10:15:52
【问题描述】:

我在用户和地址之间有 oneToMany 双向关系。在 yml 文件中,我是否需要为 Address 实体指定 user_id 字段?我这样做了,当我生成实体吸气剂时,它没有创建 getUser() 或 setUser() 而是 getUserId() 和 setUserId()

【问题讨论】:

    标签: symfony doctrine-orm


    【解决方案1】:

    在您的Address 实体上,您将有一个与User 实体相关的$user 字段,而不是与integer 相关的user_id

    请记住,您是根据 Doctrine 的实体进行映射,而不是 SQL 或关系数据库表。尝试尽可能多地考虑您的业务模型,Doctrine 将处理其余部分,并且在内部它会知道在 address 表中创建与用户 ID 相关的外键。

    用户映射

    oneToMany:
      addresses:
        targetEntity: Address
        mappedBy: user
    

    地址映射

    manyToOne:
      user:
        targetEntity: User
        inversedBy: addresses
    

    【讨论】:

    • 这个解释如此简单直接......即使5年了仍然是一个完美的解释!谢谢
    猜你喜欢
    • 2022-06-11
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多